lecture1
lecture1
1. Introduction
Kihong Heo
1
About Me
• O ce: N5 2321
• Good memories:
*https://research.fb.com/blog/2017/02/inferbo-infer-based-bu er-overrun-analyzer/
Germany China
{
1. Introduction CS524 / KAIST Kihong Heo 5 / 46
My Research
{
1. Introduction CS524 / KAIST Kihong Heo 6 / 46
My Research
{
1. Introduction CS524 / KAIST Kihong Heo 7 / 46
My Research
PL AI {
1. Introduction CS524 / KAIST Kihong Heo 8 / 46
Course Information
• Course Website: https://github.com/prosyslab-classroom/cs524-program-analysis
• Geon Park ( )
• Textbook:
• Homework: 50%
• Participation: 10%
• NOTE: nonnegotiable!
ffl
Important Notice (1): Academic Integrity
• DO NOT share the course contents (e.g., assignments or exams) with others
• DO NOT plagiarize
The Patriot Missile (1991) The Ariane-5 Rocket (1996) NASA’s Mars Climate Orbiter (1999)
Floating-point roundo Integer Over ow Meters-Inches Miscalculation
28 soldiers died $100M $125M
10KLOC
Kernel Version
1x
Jan, 2013 Jan, 2014 Jan, 2015 Jan, 2016 Jan, 2017
Why?
7500
0
2017 2018 2019 2020 2021 2022 2023
F~ = m~a
r · E = ⇢/"0
<latexit sha1_base64="bhxtCDs0D03EgDp8xl6ui3yIJ1I=">AAAC/HicdVJdaxQxFM2MX3X92tZHX4KLUBHXGZG2L0KpCOJTBbctbJblTjazG5pJhuROYQjjX/HFB0V89Yf45r8xsx1ku20vBA735Nxz702yUkmHSfI3im/cvHX7zsbd3r37Dx4+6m9uHTlTWS5G3ChjTzJwQkktRihRiZPSCigyJY6z03ctf3wmrJNGf8a6FJMC5lrmkgOG1HQz2mKZmEvtwVqoG6+aHtOQKaCMzwxSVgAuspz69w1965ldGNq88uwMrCidVEbTqU+ahjJ2je4g6JJVGmUh3MW6L1kJFiWoUAybVen1urYuK6qlPVMix+3/1MeGvljv8GqHYM6snC/weY8JPeuWMO0PkmGyDHoZpB0YkC4Op/0/bGZ4VQiNXIFz4zQpceJbR65E2GjlRAn8FOZiHKCGMMnELx+voc9CZkZzY8PRSJfZVYWHwrm6yMLNtm23zrXJq7hxhfnexEtdVig0PzfKK0XR0PYn0Jm0gqOqAwBuZeiV8gVY4Bj+Sy8sIV0f+TI4ej1Md4Y7n94M9g+6dWyQJ+Qp2SYp2SX75AM5JCPCozr6Gn2PfsRf4m/xz/jX+dU46jSPyYWIf/8Dn+/xIg==</latexit>
r·B=0
r ⇥ E = @t B
r ⇥ B = µ0 (J + "0 @t E)
Ou
rG
oal
• Applications:
Astrée
Airbus Controller GrammaTech Semmle / Github JuliaSoft
ENS / AbsInt
GCC LLVM/Clang
Boolean Satis ability Problem (SAT) Satis ability modulo theory (SMT)
• The era of AI: NO free lunch and requires more creative thinking
• Understandable knowledge ( )
by lecture, exam,
“The greatest scientists are
artists as well”
programming assignment
- A. Einstein
• Explainable knowledge ( )
by various activities
• Arti able knowledge ( )
• Pick a concept X you have learned in this class such as cryptography, program analysis
• Draw a picture that succinctly represents the concept using DALL-E (or similar tools)
1. For each HW, a unique invitation URL will be posted on the issue board
2. Once you accept, a private repo for your assignment will be created
3. You can push as many commits as you want before the deadline
• 80% credit for 1-day late, 50% credit for 2-days late, NO credit otherwise
• Goal: setting up and getting familiarized with OCaml and Git environments
• Will not be graded but highly recommended if you are not familiar with OCaml
• Remove all compile errors and warning File "src/semantics.ml", line 39, characters 6-11:
39 | let count = 1 in
^^^^^
Warning 26 [unused-var]: unused variable count.
• Remember: warning is error
let rec
fact n = let rec fact n =
• Clean code via formatting match n with match n with
| 0 | 1 -> 1 | 0 | 1 -> 1
| _ -> n * | _ -> n * fact (n - 1)
• Acceptable code coverage fact (n - 1)
• Syntactic requirements
• For each paragraph, write the topic sentence rst followed by the details.
• Submit your Github account via the google form (see the Github issue board)