CS6463 Program Analysis And Its Support for Software Development

What is Program Analysis Program Analysis refers to the process of automatically analyzing the behavior of computer programs without executing them. It is used to support program understanding, debugging, testing, reverse engineering, as well as optimization for better performance. Program analysis can work at any stage of software development, even when your program is not complete at all. It is a critically important part of almost all tools that support programming.
Why this course Have you ever spent hours or even days debugging a piece of code that just wouldn't work properly? Have you ever been asked to take over or modify a chunk of code that is written by somebody else and is hard to understand? Have you ever submitted/finalized a project thinking that it worked perfectly and then later found not that you have not tested your project comprehensively? If you have, then this class can show you a better way of eliminating coding errors, understanding other people's code, and making sure your test coverage is complete.
Syllabus Class information is available here, including course material and policies.
Announcements
Slides

Electronic course notes are available here.

Student Presentations

Schedule of Student Presentations

Project Presentations

Slides of Project Presentations

Literature

Papers relevant to program analysis.

Programming Programming environments and reference manuals.