Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ahrendt, W., Baar, T., Beckert, B., Bubel, R., Giese, M., Hähnle, R., Menzel, W., Mostowski, W., Roth, A., Schlager, S., Schmitt, P.H.: The KeY tool. Software and System Modeling 4 (2005)
Appel, A.W.: Tactics for separation logic. INRIA Rocquencourt and Princeton University, Early Draft (2006)
Barthe, G., Crégut, P., Grégoire, B., Jensen, T., Pichardie, D.: The MOBIUS proof carrying code infrastructure. In: Boer, F.S., Bonsangue, M.M., Graf, S., Roever, W.P. (eds.) Formal Methods for Components and Objects. Springer, Heidelberg (2008)
Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. In: Coq’Art: the Calculus of Inductive Constructions. Springer, Heidelberg (2004)
Burdy, L., Cheon, Y., Cok, D.R., Ernst, M.D., Kiniry, J.R., Leavens, G.T., Leino, K.R.M., Poll, E.: An overview of JML tools and applications. International Journal on Software Tools for Technology Transfer 7 (June 2005), also published by Springer http://dx.doi.org/10.1007/s10009-004-0167-4
Charles, J., Kiniry, J.R.: A lightweight theorem prover interface for Eclipse. UITP at TPHOL 2008 (2008)
Chlipala, A., Malecha, G., Morrisett, G., Shinnar, A., Wisnesky, R.: Effective interactive proofs for higher-order imperative programs. In: ACM Proc. of ICFP 2009 (August 2009)
Distefano, D., Parkinson, M.J.: jStar: towards practical verification for Java. In: ACM Proc. of OOPSLA 2008 (October 2008)
Driscoll, J., Sarnak, N., Sleator, D., Tarjan, R.: Making data structures persistent. In: ACM Proc. of STOC 1986 (November 1986)
Fähndrich, M., Barnett, M., Logozzo, F.: Embedded contract languages. In: ACM Proc. of SAC 2010 (March 2010)
Filliâtre, J.-C., Marché, C.: The Why/Krakatoa/Caduceus platform for deductive program verification. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 173–177. Springer, Heidelberg (2007)
Jensen, J.B., Birkedal, L., Sestoft, P.: Modular verification of linked lists with views via separation logic. In: Proc. of FTfJP 2010 (May 2010)
Kokholm, N., Sestoft, P.: The C5 generic collection library for C# and CLI. Tech. Rep. ITU-TR-2006-76, IT University of Copenhagen (2006)
Leino, K.R.M.: Dafny: An automatic program verifier for functional correctness. In: Proc. of LPAR-16 (March 2010)
Meyer, B.: Design by contract. In: Advances in Object-Oriented Software Engineering (1991)
Odersky, M., et al.: An overview of the Scala programming language. Tech. Rep. IC/2004/64, EPFL Lausanne, Switzerland (2004)
Parkinson, M.J., Bierman, G.: Separation logic, abstraction and inheritance. In: ACM Proc. of POPL 2008 (January 2008)
Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: IEEE Proc. of 17th Symp. on Logic in CS (November 2002)
Vallée-Rai, R., Hendren, L.J.: Jimple: Simplifying Java bytecode for analyses and transformations. Tech. Rep. 4, McGill University (1998)
Weide, B., Sitaraman, M., Harton, H., Adcock, B., Bucci, P., Bronish, D., Heym, W., Kirschenbaum, J., Frazier, D.: Incremental benchmarks for software verification tools and techniques. In: Shankar, N., Woodcock, J. (eds.) VSTTE 2008. LNCS, vol. 5295, pp. 84–98. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mehnert, H. (2011). Kopitiam: Modular Incremental Interactive Full Functional Static Verification of Java Code. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds) NASA Formal Methods. NFM 2011. Lecture Notes in Computer Science, vol 6617. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20398-5_42
Download citation
DOI: https://doi.org/10.1007/978-3-642-20398-5_42
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-20397-8
Online ISBN: 978-3-642-20398-5
eBook Packages: Computer ScienceComputer Science (R0)