| ||
COMS W4117 Compilers and Interpreters: Software Verification Tools Fall 2007 |
||
| Announcements | ||||||||||
|
Class meets in Mudd 337, 11:00am-12:15pm, Tuesdays and Thursdays.
At 4:00pm Thursday, November 1, in Davis Auditorium Bjarne Stroustrup of Texas A&M University gave a seminar on the new ISO Standard for C++ as part of the Columbia University Department of Computer Science Languages and Compilers Seminar. At 11:00am Tuesday, November 25, in the CS Conference Room Tom Ball of Microsoft Research gave a seminar on the design and analysis of static analysis tools as part of the Columbia University Department of Computer Science Languages and Compilers seminar. At 11:00am Thursday, December 6, in Mudd 337 Kedar Namjoshi of Bell Labs will give a seminar on "The Speed vs. Precision Trade-off in Static Program Analysis" as part of the Columbia University Department of Computer Science Languages and Compilers Seminar. Schedule of project presentations on your chosen verification tool:
| ||||||||||
| Teaching Staff | ||||||||||
| ||||||||||
| Course Overview | ||||||||||
|
This course will focus on the use, design, and implementation
of new software verification tools that are being increasingly
used by software developers in industry
to create more reliable software systems. You will learn
about the most commonly used static analysis and model-checking
tools such as Microsoft's device-driver verifier and Gerard
Holzmann's spin model checker. You will learn about the
algorithms used by these tools. Many of these algorithms
are based on data-flow and program analysis techniques used
in modern optimizing compilers.
The concepts, techniques, and tools that you will learn in this course have broad application to all phases of software development. There will be a semester-long project in which students will work in teams of two to learn how to use one of the new verification tools. At the end of the course each team will hand in a written report and make an oral presention to the class on the verification tool. |
||||||||||
| Prerequisites | ||||||||||
| Fluency in C and Java | ||||||||||
| COMS W4117 Compilers and Interpreters: Software Verification Tools | ||||||||||
| Schedule 2007 | ||||||||||
| Recommended Text | ||||||||||
|
Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman Compilers: Principles, Techniques, and Tools, Second Edition Pearson Addison-Wesley, 2007, ISBN 0-321-48681-1 |
||||||||||
| Class Policies | ||||||||||
| Grading |
50% Project Report |
|||||||||
|
50% Class Presentations |
||||||||||
| aho@cs.columbia.edu | Updated Sep 1, 2007 |