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 条
  • [21] JET: Exception Checking in the Java']Java Native Interface
    Li, Siliang
    Tan, Gang
    OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS, 2011, : 345 - 357
  • [22] Optimizing array reference checking in Java']Java programs
    Midkiff, SP
    Moreira, JE
    Snir, M
    IBM SYSTEMS JOURNAL, 1998, 37 (03) : 409 - 453
  • [23] Evaluation of A Tool for Java']Java Structural Specification Checking
    Dil, Anton
    Osunde, Joseph
    PROCEEDINGS OF THE 10TH INTERNATIONAL CONFERENCE ON EDUCATION TECHNOLOGY AND COMPUTERS (ICETC 2018), 2018, : 99 - 104
  • [24] DHTML']HTML accessibility checking based on static Java']JavaScript analysis
    Tateishi, Takaaki
    Miyashita, Hisashi
    Naoshi, Tabuchi
    Saito, Shin
    Ono, Kouichi
    UNIVERSAL ACCESS IN HUMAN-COMPUTER INTERACTION: APPLICATIONS AND SERVICES, PT 3, PROCEEDINGS, 2007, : 167 - +
  • [25] Static checking of security related behavior model for multithreaded java programs
    College of Computer Science and Technology, Jilin University, Changchun 130012, China
    Jisuanji Xuebao, 2009, 9 (1856-1868):
  • [26] Static deadlock detection for Java']Java libraries
    Williams, A
    Thies, W
    Ernst, MD
    ECOOP 2005 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2005, 3586 : 602 - 629
  • [27] Static Analysis of Malicious Java']Java Applets
    Ganesh, Nikitha
    Di Troia, Fabio
    Corrado, Visaggio Aaron
    Austin, Thomas H.
    Stamp, Mark
    IWSPA'16: PROCEEDINGS OF THE 2016 ACM INTERNATIONAL WORKSHOP ON SECURITY AND PRIVACY ANALYTICS, 2016, : 58 - 63
  • [28] Effective static race detection for Java']Java
    Naik, Mayur
    Aiken, Alex
    Whaley, John
    ACM SIGPLAN NOTICES, 2006, 41 (06) : 308 - 319
  • [29] JDQL: A framework for Java']Java Static Analysis
    Saxena, Amitabh
    Soundrapandian, Pradeepkumar Duraisamy
    Sharma, Vibhu Saujanya
    Kaulgud, Vikrant
    PROCEEDINGS OF THE 9TH INDIA SOFTWARE ENGINEERING CONFERENCE, 2016, : 136 - 140
  • [30] Static analysis of XML transformations in java']java
    Kirkegaard, C
    Moller, A
    Schwartzbach, MI
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (03) : 181 - 192