CIS 700: Software and Compiler VerificationUniversity of Pennsylvania     Fall 2005315 Levine Hall
|
Date | Topic | Presenter |
Sept. 7 | Introduction / Axiomatic Semantics The Verifying Compiler: A Grand Challenge for Computing Research (Hoare, 2003) |
Zdancewic |
Sept. 12 | Axiomatic Semantics An Axiomatic Basis for Computer Programming (Hoare, 1969) |
Zdancewic |
Sept. 14 | Weakest Preconditions / Verification Conditions Winskel, Chs. 6 & 7 The characterization of semantics Chapter 3 of "A Discipline of Programming" (Dijkstra, 1976) |
Zdancewic |
Sept. 19* | Separation Logic: A Logic for Shared Mutable Data Structures (Reynolds, 2002) | Brian Aydemir |
Sept. 21* | Separation Logic and Abstraction (Parkinson & Bierman, 2005) | Alwyn Goodloe |
Sept. 26* | BI
as an Assertion Language for Mutable Data Structures
(Ishtiaq & O'Hearn, 2001)
The logic of bunched implications (O'Hearn & Pym, 1999) |
Karl Mazurak |
Sept. 28* | Proof-Carrying Code (Necula, 1997) |   |
Oct. 3* | From System F to Typed Assembly Language (Morrisett et al., 1999) |   |
Oct. 5* | Foundational Proof-Carrying Code (Appel, 2001) |   |
Oct. 10* | A Certifying Compiler for Java (Colby et al., 2000) |   |
Oct. 12* | Proof Generation in the Touchstone Theorem Prover (Necula & Lee, 2000) |   |
Oct. 17 | No class -- Fall Break |   |
Oct. 19 | Report from the verified software meeting | Zdancewic |
Oct. 24 | Extended Static Checking for Java (Flanagan et al., 2002) | Sebastian Burckhardt |
Oct. 26 | An
Overview of JML Tools and Applications (Burdy et al, 2005) Lessons from the JML Project (Leavens and Clifton, 2005) |
Margaret Delap |
Oct. 31 | The Spec# Programming System: An Overview (Barnett, Leino, and
Schulte, 2004) Verification of Object-oriented Programs with Invariants (Barnett et al., 2004) |
Pavol Cerny |
Nov. 2 | Praxis
SparkAda publications Correctness by Construction: Developing a Commercial Secure System (Hall and Chapman, 2002) Is Proof More Cost-effective than Testing? (King et al., 2000) |
Justin Smith |
Nov. 7 | Enhancing Server Availability and Security Through Failure-Oblivious Computing (Rinard et al., 2005) | Brian Aydemir |
Nov. 9 | A Language-based Approach to Functionally Correct Imperative Programming (Westbrook, Stump, and Wehrman, 2005) | Geoff Washburn |
Nov. 14 | Dynamically discovering likely program invariants to support Program Evolution (Ernst, et al., 2001) | Zdancewic NOTE: Meet in room 512. |
Nov. 16 | A Logical Analysis of Aliasing in Imperative Higher-order Functions (Berger, Honda, and Yoshida, 2005) | Alwyn Goodloe |
Nov. 21 | Formal Certification of a Compiler Back-end, or: Programming a Compiler with a Proof Assistant (Leroy, 2006) | Aaron Bohannon |
Nov. 23 | No class -- Thanksgiving Break |   |
Nov. 28 | Lazy Abstraction (Henzinger, et al., 2002) | Sebastian Burckhardt |
Nov. 30 | Shape Analysis (Wilhelm, Sagiv and Reps, 2000) | Jeff Vaughan |
Dec. 5 | Synthesis of Interface Specifications for Java Classes (Alur et atl., 2005) | Pavol Cerny |
Dec. 7 | Discussion about Software Verification | Zdancewic |