ACM Home Page
Please provide us with feedback. Feedback
jStar: towards practical verification for java
Full text PdfPdf (311 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications table of contents
Nashville, TN, USA
SESSION: Formal methods table of contents
Pages 213-226  
Year of Publication: 2008
ISBN:978-1-60558-215-3
Also published in ...
Authors
Dino Distefano  Queen Mary, University of London, London, United Kingdom
Matthew J. Parkinson J  University of Cambridge, Cambridge, United Kingdom
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 191,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1449764.1449782
What is a DOI?

ABSTRACT

In this paper we introduce a novel methodology for verifying a large set of Java programs which builds on recent theoretical developments in program verification: it combines the idea of abstract predicate families and the idea of symbolic execution and abstraction using separation logic. The proposed technology has been implemented in a new automatic verification system, called jStar, which combines theorem proving and abstract interpretation techniques. We demonstrate the effectiveness of our methodology by using jStar to verify example programs implementing four popular design patterns (subject/observer, visitor, factory, and pooling). Although these patterns are extensively used by object-oriented developers in real-world applications, so far they have been highly challenging for existing object-oriented verification techniques.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
M. Barnett, K. R. M. Leino, and W. Schulte. The Spec programming system: An overview. In Proceedings of CASSIS, pages 49--69, 2005.
 
3
M. Barnett and D. A. Naumann. Friends need a bit more: Maintaining invariants over shared state. In MPC, volume 3125 of LNCS, pages 54--84. Springer, 2004.
 
4
J. Berdine, C. Calcagno, and P. O'Hearn. Smallfoot: Modular automatic assertion checking with separation logic. In FMCO 2005, volume 4111 of LNCS, pages 115--137. Springer, 2006.
 
5
J. Berdine, C. Calcagno, and P. W. O'Hearn. Symbolic execution with separation logic. In Proceedings of APLAS, volume 3780 of LNCS, pages 52--68. Springer, 2005.
 
6
L. Burdy, Y. Cheon, D. Cok, M. Ernst, J. Kiniry, G. T. Leavens, K. R. M. Leino, and E. Poll. An overview of JML tools and applications. In Proceedings of FMICS, pages 73--89, 2003.
7
8
 
9
D. Distefano, P. O'Hearn, and H. Yang. A local shape analysis based on separation logic. In Proceedings of TACAS, volume 3920 of LNCS, pages 287--302. Springer, 2006.
 
10
M. Dwyer, J.Hatcliff, M.Hoosier, and Robby. Building your own software model checker using the bogor extensible model checking framework. In CAV, volume 3576 of LNCS, pages 148--152. Springer, 2005.
 
11
 
12
M. Grand. Patterns in Java. Wiley, second edition, 2002.
13
 
14
I. T. Kassios. Dynamic frames: Support for framing, dependencies and sharing without restrictions. In FM, volume 4085 of LNCS, pages 268--283. Springer, 2006.
 
15
N. R. Krishnaswami, J. Aldrich, and L. Birkedal. Modular verification of the subject-observer pattern via higher-order separation logic. In Proceedings of FTfJP, 2007.
 
16
17
 
18
K. R. M. Leino and W. Schulte. Using history invariants to verify observers. In Proceedings of ESOP, volume 4421 of LNCS, pages 80--94. Springer, 2007.
 
19
20
 
21
 
22
23
 
24
M. J. Parkinson. Local Reasoning for Java. PhD thesis, Computer Laboratory, University of Cambridge, 2005. UCAM-CL-TR-654.
25
26
27
 
28
J. Smans, B. Jacobs, F. Piessens, and W. Schulte. An automatic verifier for java-like programs based on dynamic frames. In Proceedings of FASE, volume 4961 of LNCS, pages 261--275. Springer, 2008.
 
29
R. Vallée-Rai, L. Hendren, V. Sundaresan, P. Lam, E. Gagnon, and P. Co. Soot -- a java optimization framework. In Proceedings of CASCON 1999, pages 125--135, 1999.
 
30


Collaborative Colleagues:
Dino Distefano: colleagues
Matthew J. Parkinson J: colleagues