Extended static checking for Java']Java

被引:313
|
作者
Flanagan, C [1 ]
Leino, KRM [1 ]
Lillibridge, M [1 ]
Nelson, G [1 ]
Saxe, JB [1 ]
Stata, R [1 ]
机构
[1] Compaq Syst Res Ctr, Palo Alto, CA 94301 USA
关键词
design; documentation; verification; compile-time program checking;
D O I
10.1145/543552.512558
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:234 / 245
页数:12
相关论文
共 50 条
  • [1] Extended static checking for Java']Java
    Nelson, G
    MATHEMATICS OF PROGRAM CONSTRUCTION, PROCEEDINGS, 2004, 3125 : 1 - 1
  • [2] Extended Static Checking for Java']Java
    Flanagan, Cormac
    Leino, K. Rustan M.
    Lillibridge, Mark
    Nelson, Greg
    Saxe, James B.
    Stata, Raymie
    ACM SIGPLAN NOTICES, 2013, 48 (04) : 22 - 33
  • [3] Faster and More Complete Extended Static Checking for the Java']Java Modeling Language
    James, Perry R.
    Chalin, Patrice
    JOURNAL OF AUTOMATED REASONING, 2010, 44 (1-2) : 145 - 174
  • [4] Types for atomicity: Static checking and inference for Java']Java
    Flanagan, Cormac
    Freund, Stephen N.
    Lifshin, Marina
    Qadeer, Shaz
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (04):
  • [5] Faster and More Complete Extended Static Checking for the Java Modeling Language
    Perry R. James
    Patrice Chalin
    Journal of Automated Reasoning, 2010, 44
  • [6] Java']Java model checking
    Park, DYW
    Stern, U
    Skakkebæk, JU
    Dill, DL
    FIFTEENTH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 253 - 256
  • [7] Model checking real time Java']Java using Java']Java PathFinder
    Lindstrom, G
    Mehlitz, PC
    Visser, W
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2005, 3707 : 444 - 456
  • [8] Java']Java & static analysis
    Chaturvedi, A
    DR DOBBS JOURNAL, 2005, 30 (07): : 25 - +
  • [9] Model checking the Java']Java metalocking algorithm
    Basu, Samik
    Smolka, Scott A.
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2007, 16 (03) : C1 - C35
  • [10] Model checking programs with Java']Java PathFinder
    Visser, W
    Mehlitz, P
    MODEL CHECKING SOFTWARE, PROCEEDINGS, 2005, 3639 : 27 - 27