lecture 0 course overview - korea...

6
AAA616: Program Analysis Lecture 0 — Course Overview Hakjoo Oh 2016 Fall Hakjoo Oh AAA616 2016 Fall, Lecture 0 September 13, 2016 1/6

Upload: others

Post on 02-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 0 Course Overview - Korea Universityprl.korea.ac.kr/~pronto/home/courses/aaa616/2016/slides/... · 2020-01-30 · Safe software: the holy grail of computer science Hakjoo

AAA616: Program Analysis

Lecture 0 — Course Overview

Hakjoo Oh2016 Fall

Hakjoo Oh AAA616 2016 Fall, Lecture 0 September 13, 2016 1 / 6

Page 2: Lecture 0 Course Overview - Korea Universityprl.korea.ac.kr/~pronto/home/courses/aaa616/2016/slides/... · 2020-01-30 · Safe software: the holy grail of computer science Hakjoo

Basic Information

Instructor: Hakjoo Oh

Position: Assistant professor in Computer Science and Engineering,Korea University

Expertise: Programming Languages and Compilers

Office: 616c, Science Library

Email: [email protected]

Office Hours: 1:00pm–3:00pm Mondays and Wednesdays (byappointment)

Course Website:

http://prl.korea.ac.kr/~pronto/home/courses/aaa616/2016/

Course materials will be available here.

Hakjoo Oh AAA616 2016 Fall, Lecture 0 September 13, 2016 2 / 6

Page 3: Lecture 0 Course Overview - Korea Universityprl.korea.ac.kr/~pronto/home/courses/aaa616/2016/slides/... · 2020-01-30 · Safe software: the holy grail of computer science Hakjoo

Motivation: Unsafe Software

Software failures everywhere

Technologies for safe software?I code review, testing, simulation, debugging, etcI manual, ad-hoc, postmortem

Compare with other engineering domains:

Safe software: the holy grail of computer science

Hakjoo Oh AAA616 2016 Fall, Lecture 0 September 13, 2016 3 / 6

Page 4: Lecture 0 Course Overview - Korea Universityprl.korea.ac.kr/~pronto/home/courses/aaa616/2016/slides/... · 2020-01-30 · Safe software: the holy grail of computer science Hakjoo

Static Program Analysis

Technology for “Software MRI”

Predict SW behavior statically and automaticallyI static: before execution, before sell / embedI automatic: sw is analyzed by sw (“static analyzer”)

ApplicationsI bug-finding: e.g., find runtime failures of programsI security: e.g., is this app malicious or benign?I verification: e.g., does the program meet its specification?I compiler optimization: e.g., automatic parallelization

Hakjoo Oh AAA616 2016 Fall, Lecture 0 September 13, 2016 4 / 6

Page 5: Lecture 0 Course Overview - Korea Universityprl.korea.ac.kr/~pronto/home/courses/aaa616/2016/slides/... · 2020-01-30 · Safe software: the holy grail of computer science Hakjoo

Topics

Foundational TheoriesI Programming language theory: semantic formalism, operational

semantics, denotational semanticsI Abstract Interpretation theory: Galois-connection, abstract domain,

abstract semantics, fixed points, widening, narrowingI lecture-based

Modern Static Analysis TechniquesI interprocedural analysis, context-sensitivity, sparse analysis, selective

analysis, pointer analysis, relational analysis, shape analysis, etcI discussion-based

Hakjoo Oh AAA616 2016 Fall, Lecture 0 September 13, 2016 5 / 6

Page 6: Lecture 0 Course Overview - Korea Universityprl.korea.ac.kr/~pronto/home/courses/aaa616/2016/slides/... · 2020-01-30 · Safe software: the holy grail of computer science Hakjoo

Course Materials and Grading

Course materials:

Semantics with Applications (Second Edition) by Hanne Riis Nielsonand Flemming Nielson. Springer.

Principles of Program Analysis by Flemming Nielson, Hanne RiisNielson, and Chris hankin. Springer.

Self-contained slides will be provided.

Grading:

Homework / Quiz – 70%I 5–8

Paper presentation – 30%

Hakjoo Oh AAA616 2016 Fall, Lecture 0 September 13, 2016 6 / 6