Extended static checking for Java
Authors:
Open Access
- 17 May 2002
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 37 (5) , 234-245
Abstract
Software development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. The checker is powered by verification-condition generation and automatic theorem-proving techniques. It provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. ESC/Java examines the annotated software and warns of inconsistencies between the design decisions recorded in the annotations and the actual code, and also warns of potential runtime errors in the code. This paper gives an overview of the checker architecture and annotation language and describes our experience applying the checker to tens of thousands of lines of Java programs.Keywords
This publication has 26 references indexed in Scilit:
- Bugs as deviant behavior2001
- Applications of Extended Static CheckingLecture Notes in Computer Science, 2001
- Extended Static Checking: A Ten-Year Perspective2001
- Houdini, an Annotation Assistant for ESC/Java2001
- Annotation inference for modular checkersInformation Processing Letters, 2001
- Bandera2000
- Joining specification statementsTheoretical Computer Science, 1999
- LCLint1994
- Symbolic model checking: 1020 States and beyondInformation and Computation, 1992
- Proof of correctness of data representationsActa Informatica, 1972