Kopitiam: Modular Incremental Interactive Full Functional Static Verification of Java Code

We are developing Kopitiam, a tool to interactively prove full functional correctness of Java programs using separation logic by interacting with the interactive theorem prover Coq. Kopitiam is an Eclipse plugin, enabling seamless integration into the workflow of a developer. Kopitiam enables a user to develop proofs side-by-side with Java programs in Eclipse.

[1]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[2]  Frank S. de Boer,et al.  Formal Methods for Components and Objects , 2012, Lecture Notes in Computer Science.

[3]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[4]  Matthew J. Parkinson,et al.  jStar: towards practical verification for java , 2008, OOPSLA.

[5]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[6]  Bertrand Meyer,et al.  Advances in object-oriented software engineering , 1992 .

[7]  Gavin M. Bierman,et al.  Separation logic, abstraction and inheritance , 2008, POPL '08.

[8]  K. Rustan M. Leino,et al.  Dafny: An Automatic Program Verifier for Functional Correctness , 2010, LPAR.

[9]  Robert E. Tarjan,et al.  Making data structures persistent , 1986, STOC '86.

[10]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.

[11]  Benjamin Grégoire,et al.  The MOBIUS Proof Carrying Code Infrastructure , 2008, FMCO.

[12]  MeyerBertrand,et al.  Design by Contract , 1997 .

[13]  Lars Birkedal,et al.  Modular verification of linked lists with views via separation logic , 2010, FTfJP@ECOOP.

[14]  Murali Sitaraman,et al.  Incremental Benchmarks for Software Verification Tools and Techniques , 2008, VSTTE.

[15]  Laurie Hendren,et al.  Jimple: Simplifying Java Bytecode for Analyses and Transformations , 1998 .

[16]  Martin Odersky,et al.  An Overview of the Scala Programming Language , 2004 .

[17]  dizayn İç dekor Design by Contract , 2010 .

[18]  Peter Sestoft,et al.  The C5 Generic Collection Library for C# and CLI , 2006 .

[19]  Claude Marché,et al.  The Why/Krakatoa/Caduceus Platform for Deductive Program Verification , 2007, CAV.

[20]  Manuel Fähndrich,et al.  Embedded contract languages , 2010, SAC '10.

[21]  Adam Chlipala,et al.  Effective interactive proofs for higher-order imperative programs , 2009, ICFP.

[22]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[23]  Julien Charles,et al.  A Lightweight Theorem Prover Interface for Eclipse , 2008 .