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 条
  • [41] Model Checking of Concurrent Algorithms: From Java']Java to C
    Artho, Cyrille
    Hagiya, Masami
    Leungwattanakit, Watcharin
    Tanabe, Yoshinori
    Yamamoto, Mitsuharu
    DISTRIBUTED, PARALLEL AND BIOLOGICALLY INSPIRED SYSTEMS, 2010, 329 : 90 - +
  • [42] Towards Model Checking of Computer Games with Java']Java PathFinder
    Shafiei, Nastaran
    van Breugel, Franck
    2013 3RD INTERNATIONAL WORKSHOP ON GAMES AND SOFTWARE ENGINEERING: ENGINEERING COMPUTER GAMES TO ENABLE POSITIVE, PROGRESSIVE CHANGE (GAS), 2013, : 15 - 21
  • [43] Checking Event-Based Specifications in Java']Java Systems
    Reiss, Steven P.
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 144 (03) : 107 - 132
  • [44] A local approach for temporal model checking of Java']Java bytecode
    Santone, A
    Vaglini, G
    JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 2005, 70 (02) : 258 - 281
  • [45] Specifying and checking method call sequences of Java']Java programs
    Cheon, Yoonsik
    Perumandla, Ashaveena
    SOFTWARE QUALITY JOURNAL, 2007, 15 (01) : 7 - 25
  • [46] Software model checking for Internet Protocols with Java']Java Pathfinder
    Martinez, Jesss
    Jimenez, Cristobal
    MSVVEIS 2008: MODELLING, SIMULATION, VERIFICATION AND VALIDATION OF ENTERPRISE INFORMATION SYSTEMS, 2008, : 91 - 100
  • [47] Java']Java Memory Model-Aware Model Checking
    Jin, Huafeng
    Yavuz-Kahveci, Tuba
    Sanders, Beverly A.
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2012, 2012, 7214 : 220 - 236
  • [48] A type system for checking applet isolation in Java']Java Card
    Dietl, W
    Müller, P
    Poetzsch-Heffter, A
    CONSTRUCTION AND ANALYSIS OF SAFE, SECURE, AND INTEROPERABLE SMART DEVICES, 2005, 3362 : 129 - 150
  • [49] Model checking real time Java using Java PathFinder
    Lindstrom, Gary
    Mehlitz, Peter C.
    Visser, Willem
    Lect. Notes Comput. Sci., (444-456):
  • [50] CSTNU Tool: A Java']Java library for checking temporal networks
    Posenato, Roberto
    SOFTWAREX, 2022, 17