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.
|