Faster and More Complete Extended Static Checking for the Java']Java Modeling Language

被引:3
|
作者
James, Perry R. [1 ]
Chalin, Patrice [1 ]
机构
[1] Concordia Univ, Dept Comp Sci & Software Engn, Dependable Software Res Grp, Montreal, PQ, Canada
关键词
Extended static checking; Static verification; Theorem provers; !text type='Java']Java[!/text] Modeling Language; JML4; ESC; ESC4;
D O I
10.1007/s10817-009-9134-9
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Extended Static Checking (ESC) is a fully automated formal verification technique. Verification in ESC is achieved by translating programs and their specifications into verification conditions (VCs). Proof of a VC establishes the correctness of the program. The implementations of many seemingly simple algorithms are beyond the ability of traditional Extended Static Checking (ESC) tools to verify. Not being able to verify toy examples is often enough to turn users off of the idea of using formal methods. ESC4, the ESC component of the JML4 project, is able to verify many more kinds of methods in part because of its use of novel techniques which apply multiple theorem provers. In particular, we present Offline User-Assisted ESC (OUA-ESC), a new form of verification that lies between ESC and Full Static Program Verification (FSPV). ESC is generally quite efficient, as far as verification tools go, but it is still orders of magnitude slower than simple compilation. As can be imagined, proving VCs is computationally expensive: While small classes can be verified in seconds, verifying larger programs of 50 KLOC can take hours. To help address the added cost of using multiple provers and this lack of scalability, we present the multi-threaded version of ESC4 and its distributed prover back-end.
引用
收藏
页码:145 / 174
页数:30
相关论文
共 33 条
  • [21] 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 - +
  • [22] 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):
  • [23] Modeling and evaluation of control flow prediction schemes using complete system simulation and Java']Java workloads
    Li, T
    John, LK
    Bell, RH
    MASCOTS 2002: 10TH IEEE INTERNATIONAL SYMPOSIUM ON MODELING, ANALYSIS, AND SIMULATION OF COMPUTER AND TELECOMMUNICATIONS SYSTEMS, PROCEEDINGS, 2002, : 391 - 400
  • [24] Automatic Modeling of Opaque Code for Java']JavaScript Static Analysis
    Park, Joonyoung
    Jordan, Alexander
    Ryu, Sukyoung
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2019), 2019, 11424 : 43 - 60
  • [25] Static Typing & Java']JavaScript Libraries: Towards a More Considerate Relationship
    Canou, Benjamin
    Chailloux, Emmanuel
    Botbol, Vincent
    PROCEEDINGS OF THE 22ND INTERNATIONAL CONFERENCE ON WORLD WIDE WEB (WWW'13 COMPANION), 2013, : 15 - 17
  • [26] xWIDL: Modular and Deep Java']JavaScript API Misuses Checking Based on eXtended WebIDL
    Zhang, Zhen
    COMPANION PROCEEDINGS OF THE 2016 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES AND APPLICATIONS: SOFTWARE FOR HUMANITY (SPLASH COMPANION'16), 2016, : 63 - 64
  • [27] Causal and Masked Language Modeling of Java']Javanese Language using Transformer-based Architectures
    Wongso, Wilson
    Setiawan, David Samuel
    Suhartono, Derwin
    13TH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTER SCIENCE AND INFORMATION SYSTEMS (ICACSIS 2021), 2021, : 29 - 35
  • [28] Documentation and Educational Materials for a 2nd Edition of the Java Modeling Language
    Cok, David R.
    FTfJP 2022 - Proceedings of the Workshop on Formal Techniques for Java-like Programs, 2022, : 26 - 28
  • [29] Automatic detection of feature interactions using the java modeling language: An experience report
    University of Passau, Germany
    不详
    ACM Int. Conf. Proc. Ser.,
  • [30] Investigating Managed Language Runtime Performance Why Java']JavaScript and Python']Python are 8x and 29x slower than C plus plus , yet Java']Java and Go can be faster?
    Lion, David
    Chiu, Adrian
    Stumm, Michael
    Yuan, Ding
    PROCEEDINGS OF THE 2022 USENIX ANNUAL TECHNICAL CONFERENCE, 2022, : 835 - 851