Extended static checking for Java

作者: Cormac Flanagan , K. Rustan M. Leino , Mark Lillibridge , Greg Nelson , James B. Saxe

DOI: 10.1145/512529.512558

关键词: Software developmentSoftwareJava concurrencyComputer scienceExtended static checkingProgramming languageJava Modeling LanguageJavaGenerics in JavaJava annotationstrictfpProgrammerReal time Java

摘要: Software development and maintenance are costly endeavors. The cost can be reduced if more software defects detected earlier in the cycle. This paper introduces Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. is powered by verification-condition generation automatic theorem-proving techniques. It provides programmers with a simple annotation language which programmer design decisions expressed formally. ESC/Java examines annotated warns of inconsistencies between recorded annotations actual code, also potential runtime errors code. gives overview architecture describes our experience applying to tens thousands lines programs.

参考文章(44)
M. Leino, Raymie Stata, K. Rustan, Checking object invariants ,(1997)
S. C. Johnson, Murray Hill, Lint, a C Program Checker ,(1978)
M. Leino, K. Rustan, Clyde Ruby, Bart Jacobs, Erik Poll, Gary T. Leavens, JML: notations and tools supporting detailed design in Java ,(2000)
Nicholas Sterling, WARLOCK - A Static Data Race Analysis Tool. USENIX Winter. pp. 97- 106 ,(1993)
Susanne Graf, Hassen Saidi, Construction of Abstract State Graphs with PVS computer aided verification. pp. 72- 83 ,(1997) , 10.1007/3-540-63166-6_10
Cormac Flanagan, K. Rustan M. Leino, Houdini, an Annotation Assistant for ESC/Java formal methods. pp. 500- 517 ,(2001) , 10.1007/3-540-45251-6_29
J. B. Wordsworth, Software Engineering with B ,(1996)
J. M. Wing, A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS Massachusetts Institute of Technology. ,(1983)
Erik Poll, Joachim Berg, Bart Jacobs, Specification of the Javacard API in JML smart card research and advanced application conference. pp. 135- 154 ,(2001) , 10.1007/978-0-387-35528-3_8
Allan Heydon, Marc Najork, Mercator: A scalable, extensible Web crawler World Wide Web. ,vol. 2, pp. 219- 229 ,(1999) , 10.1023/A:1019213109274