Static program analyses allow one to obtain sound
approximations, before
runtime, of the run-time behavior of a program. Traditionally,
these
techniques have been used in compilers to perform code
optimization. More
recently, they have been used to support verification, “smell
detection”,
refactoring, bug finding, and parallelization. The course will
cover
fundamental techniques including data flow analysis, constraint-based
analysis, abstract interpretation, and type and effect systems as well
as
interesting applications of static analysis. If time permits, we will
also
cover selected dynamic (run time) analysis techniques.
Prerequisite: COP5555 or a compiler course
Text: Principles of Program Analysis. Nielson,
Nielson, and Hankin.
Springer. 2005.
Announcements
1/9 The CISE career
workshop will be held on Jan 15. Registration
is open now.
1/8 The slides for this week's classes have been
uploaded to E-learning. You should be able to access them once
you are enrolled in the course (possibly after a day's delay) If
you have trouble, contact me.
Check frequently
The final exam will be given on April 28, 10am-12noon.