Readings
Suggested Textbooks
[HR] |
Logic in Computer Science,
by Michael Huth and Mark Ryan.
Cambridge University Press, 2004 (2nd edition). (Provides background knowledge in propositional and first order logic.) |
Articles and Lecture Notes
[Barr13] | M. Barr. Bookout vs. Toyota - 2005 Camry L4 Software Analysis. Report notes, 2013. |
[Beck06] | B. Beckert, T. Hoare, R. Hähnle, D. R. Smith, C. Green, S. Ranise, C. Tinelli, T. Ball, S. K. Rajamani.
Intelligent Systems and Formal Methods in Software Engineering.
In
Trends and Controversies - IEEE Intelligent Systems Magazine,
21(6):71-81, November/December 2006. (Restricted access.) |
[Beck07] | B. Beckert, R. Hähnle, P. Schmitt. (Eds.) Verification of Object-Oriented Software. The KeY Approach. Lecture Notes in Computer Science, Vol. 4334. Springer, 2007. (Also available electronically to UI students here.) |
[Clar96] | E. Clarke and J. M. Wing. Formal Methods: State of the Art and Future Directions. Technical Report CMU-CS-96-178. Department of Computer Science, Carnegie-Mellon University, 1996. |
[Halb91] | N. Halbwachs, P. Caspi. P. Raymond, and D. Pilaud. The synchronous data flow programming language LUSTRE. Proceedings of the IEEE. 79(9): 1305-1320. Sep 1991. |
[Halb92] | N. Halbwachs, F. Lagnier, C. Ratel. Programming and verifying real-time systems by means of the synchronous data-flow language LUSTRE. IEEE Transaction on Software Engineering. 18(9): 785-793. 1992. |
[Halb99] | N. Halbwachs and P. Raymond. Validation of Synchronous Reactive Systems: From Formal Verification to Automatic Testing. In Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science. Lecture Notes In Computer Science. Vol. 1742. Springer, 1999. |
[Halb02] | N. Halbwachs and P. Raymond. A Tutorial of Lustre. Technical report, 2002. |
[Haxt10] | A. Haxthausen. An Introduction to Formal Methods for the Development of Safety-critical Applications. Technical report, 2010. |
[Herb11] | L. Herbert, R. Leino, and J. Quaresma. Using Dafny, an Automatic Program Verifier. LASER International Summer School 2011, lecture notes. |
[Koen12] | J. Koenig and R. Leino. Getting started with Dafny: a guide. In Marktoberdorf 2011 lecture notes. To appear, 2012. |
[vLam00] | A. van Lamsweerde. Formal Specification: a Roadmap. The Future of Software Engineering ACM Press, 2000. |
[Lein13] | R. Leino. Developing Verified Programs with Dafny. Tutorial notes, ICSE 2013. |
[Medv00] | N. Medvidović. Introduction to Formal Methods. Class notes for Formal Methods in Software Architectures course, 2000. |
[Roth07] | A. Roth and P. Schmitt. Formal Specification. Chapter 5 of [Beck07]. |
[Wing95] | J. M. Wing. Hints to Specifiers. Technical Report CMU-CS-95-118R. Department of Computer Science, Carnegie-Mellon University, 1995. |
[Wood09] | Woodcock, Larsen, Bicarregui, & Fitzgerald. Formal Methods: Practice and Experience. ACM Comput. Surv. 41(4), 2009. |