An overview of the runtime verification tool Java']Java PathExplorer

被引:100
|
作者
Havelund, K [1 ]
Rosu, G
机构
[1] NASA, Ames Res Ctr, Kestrel Technol, Moffett Field, CA 94035 USA
[2] Univ Illinois, Dept Comp Sci, Urbana, IL 61801 USA
关键词
runtime verification; trace analysis; temporal logic; rewriting logic; Maude; automata; dynamic programming; program instrumentation; deadlocks; data races; !text type='Java']Java[!/text;
D O I
10.1023/B:FORM.0000017721.39909.4b
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present an overview of the Java PathExplorer runtime verification tool, in short referred to as JPAX. JPAX can monitor the execution of a Java program and check that it conforms with a set of user provided properties formulated in temporal logic. JPAX can in addition analyze the program for concurrency errors such as deadlocks and data races. The concurrency analysis requires no user provided specification. The tool facilitates automated instrumentation of a program's bytecode, which when executed will emit an event stream, the execution trace, to an observer. The observer dispatches the incoming event stream to a set of observer processes, each performing a specialized analysis, such as the temporal logic verification, the deadlock analysis and the data race analysis. Temporal logic specifications can be formulated by the user in the Maude rewriting logic, where Maude is a high-speed rewriting system for equational logic, but here extended with executable temporal logic. The Maude rewriting engine is then activated as an event driven monitoring process. Alternatively, temporal specifications can be translated into automata or algorithms that can efficiently check the event stream. JPAX can be used during program testing to gain increased information about program executions, and can potentially furthermore be applied during operation to survey safety critical systems.
引用
收藏
页码:189 / 215
页数:27
相关论文
共 50 条
  • [1] An Overview of the Runtime Verification Tool Java PathExplorer
    Klaus Havelund
    Grigore Roşu
    Formal Methods in System Design, 2004, 24 : 189 - 215
  • [2] STARVOORS: A Tool for Combined Static and Runtime Verification of Java']Java
    Chimento, Jesus Mauricio
    Ahrendt, Wolfgang
    Pace, Gordon J.
    Schneider, Gerardo
    RUNTIME VERIFICATION, RV 2015, 2015, 9333 : 297 - 305
  • [3] Specification and Runtime Verification of Java']Java Card Programs
    da Costa, Umberto Souza
    Moreira, Anamaria Martins
    Musicante, Martin A.
    Souza Neto, Placido A.
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 240 : 61 - 78
  • [4] Java']Java bytecode verification: An overview
    Leroy, X
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2001, 2102 : 265 - 285
  • [5] jPredictor: A Predictive Runtime Analysis Tool for Java']Java
    Chen, Feng
    Serbanuta, Traian Florin
    Rosu, Grigore
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 221 - 230
  • [6] Flexible and Extensible Runtime Verification for Java']Java (Extended Version)
    Xiang, Chengcheng
    Qi, Zhengwei
    Binder, Walter
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2015, 25 (9-10) : 1595 - 1609
  • [7] JCML: A specification language for the runtime verification of Java']Java Card programs
    da Costa, Umberto Souza
    Moreira, Anamaria Martins
    Musicante, Martin A.
    Souza Neto, Placid A.
    SCIENCE OF COMPUTER PROGRAMMING, 2012, 77 (04) : 533 - 550
  • [8] The Java']Java Verification Tool KeY:A Tutorial
    Beckert, Bernhard
    Bubel, Richard
    Drodt, Daniel
    Haehnle, Reiner
    Lanzinger, Florian
    Pfeifer, Wolfram
    Ulbrich, Mattias
    Weigl, Alexander
    FORMAL METHODS, PT II, FM 2024, 2025, 14934 : 597 - 623
  • [9] Runtime verification of Java']Java programs for scenario-based specifications
    Li Xuandong
    Wang Linzhang
    Qiu Xiaokang
    Lei Bin
    Yuan Jiesong
    Zhao Jianhua
    Zheng Guoliang
    RELIABLE SOFTWARE TECHNOLOGIES - ADA - EUROPE 2006, PROCEEDINGS, 2006, 4006 : 94 - 105
  • [10] An eclipse plug-in for the Java']Java PathFinder runtime verification system
    Arcelli, Francesca
    Raibulet, Claudia
    Rigo, Ivano
    Ubezio, Luigi
    30TH ANNUAL IEEE/NASA SOFTWARE ENGINEERING WORKSHOP, PROCEEDINGS, 2006, : 142 - +