PLDI 2002: Extended static checking for Java

  • Authors:
  • Cormac Flanagan;K. Rustan M. Leino;Mark Lillibridge;Greg Nelson;James B. Saxe;Raymie Stata

  • Affiliations:
  • Compaq Systems Research Center, Palo Alto, CA;Microsoft Research, Redmond, WA;Compaq Systems Research Center, Palo Alto, CA;Compaq Systems Research Center, Palo Alto, CA;Compaq Systems Research Center, Palo Alto, CA;Compaq Systems Research Center, Palo Alto, CA

  • Venue:
  • ACM SIGPLAN Notices - Supplemental issue
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

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 theoremproving 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.