Topics in Programming Languages : Automated Verification
General Information:
Course Administration
Readings
- Required readings
- Additional readings
- Henrik Andersen, "An Introduction to Binary Decision Diagrams",
Lecture notes, December 1994 (available for pickup outside the office)
- Edmund Clarke and Jeannette Wing, "Formal Methods: State of
the Art and Future Directions", ACM Computing Surveys, December 1996
(can be downloaded from Jeannett's Web page: http://www.cs.cmu.edu/~wing)
- J. Atlee, M. Chechik, J. Gannon, "Using Model Checking to Verify
Requirments and Designs", in Advances in Computers, Vol. 43, 1996
(there is a link to this paper from my homepage - research)
Announcements
Due to the conflict with Software Engineering seminars given
by faculty candidates, we have decided to change the time
of for the class. It will now be held on THURSDAYS, 12-2
in LP378.
Copies of COSPAN User's Guide are available outside of LP384.
Please pick yours up.
Lecture notes
All lecture notes are in 4/page postscript format. They are typically
distributed in class.
- Week 1. Introduction to formal methods and specification languages.
- Week 2. Theorem provers and model-checkers. Overview of latest
projects in specification and verification of hardware and software.
- Week 3. Temporal logic and model-checking. Symbolic model-checking.
An additional discussion (not in lecture notes) on Binary Decision Diagrams.
- Week 4. Using SMV to specify and verify concurrent systems.
Language syntax and semantics. Notion of fairness.
- Week 5. Student presentations. Process algebra CCS.
- Week 6. No class - reading week
- Week 7. CCS. Concurrency workbench.
- Week 8. Larch Shared Languages. Algebraic
Specifications. Generating proof obligations using the LSL Checker.
- Week 9. Student presentations of CWB specifications.
Concept of theorem proving. Larch Prover (LP).
- Week 10. Internals of LP.
- Week 11. Student presentations of LP specifications. COSPAN.
- Week 12. Executable specifications. Statecharts and PAISLey.
- Week 12 (extra class). Treatment of real-time. TTM/RTTL framework.
StateTime and StateClock.
- Week 13. Student presentations on PVS.
- Week 14. Student presentations on HOL.
Assigments
All assignments are in HTML format.
- Assignment 1 - SMV model-checking. Out: January 28. Due: February 11.
- Assignment 2 - Concurrency Workbench. Out: February 11. Due: March 4.
- Assignment 3 - Larch. Out: March 6. Due: March 20. (extended to March 27)
- Final Project. For this project you can 1) learn and present
some new tool, as well as extend our Elevator example to specify something
that shows capabilities of the language.
Links to formal methods software
Homepages for some of the publically available software are listed
below. These contain documentation and instructions on how to
download and install the systems.
Marsha Chechik