Verifying temporal specifications of Java programs

被引:0
|
作者
Francesco Spegni
Luca Spalazzi
Giovanni Liva
Martin Pinzger
Andreas Bollin
机构
[1] Università Politecnica delle Marche,
[2] Alpen-Adria-Universität Klagenfurt,undefined
来源
Software Quality Journal | 2020年 / 28卷
关键词
Software model checking; Time-dependent behavior; Java; Timed automata; SMT; Predicate abstraction;
D O I
暂无
中图分类号
学科分类号
摘要
Many Java programs encode temporal behaviors in their source code, typically mixing three features provided by the Java language: (1) pausing the execution for a limited amount of time, (2) waiting for an event that has to occur before a deadline expires, and (3) comparing timestamps. In this work, we show how to exploit modern SMT solvers together with static analysis in order to produce a network of timed automata approximating the temporal behavior of a set of Java threads. We also prove that the presented abstraction preserves the truth of MTL and ATCTL formulae, two well-known logics for expressing timed specifications. As far as we know, this is the first feasible approach enabling the user to automatically model check timed specifications of Java software directly from the source code.
引用
收藏
页码:695 / 744
页数:49
相关论文
共 50 条
  • [1] Verifying temporal specifications of Java']Java programs
    Spegni, Francesco
    Spalazzi, Luca
    Liva, Giovanni
    Pinzger, Martin
    Bollin, Andreas
    SOFTWARE QUALITY JOURNAL, 2020, 28 (02) : 695 - 744
  • [2] On verifying distributed multithreaded Java']Java programs
    Chen, J
    SOFTWARE QUALITY JOURNAL, 1999, 8 (04) : 321 - 341
  • [3] JayHorn: A Framework for Verifying Java']Java programs
    Kahsai, Temesghen
    Rummer, Philipp
    Sanchez, Huascar
    Schaf, Martin
    COMPUTER AIDED VERIFICATION, (CAV 2016), PT I, 2016, 9779 : 352 - 358
  • [4] On verifying distributed multithreaded Java programs
    Chen, Jessica
    Proceedings of the Annual Hawaii International Conference on System Sciences, 2000, 2000-January
  • [5] Verifying the concept of union slices on Java']Java programs
    Szegedi, Attila
    Gergely, Tamas
    Beszedes, Arpad
    Gyimothy, Tibor
    Toth, Gabriella
    CSMR 2007: 11TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS: SOFWARE EVOLUTION IN COMPLEX SOFTWARE INTENSIVE SYSTEMS, 2007, : 233 - +
  • [6] Verifying Java']Java programs by theorem prover HOL
    Wang, Anduo
    Fei, He
    Gu, Ming
    Song, Xiaoyu
    30TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOL 1, REGULAR PAPERS/PANELS, PROCEEDINGS, 2006, : 139 - +
  • [7] On Verifying Distributed Multithreaded Java Programs
    Jessica Chen
    Software Quality Journal, 1999, 8 : 321 - 341
  • [8] Verifying Concurrent Programs against Sequential Specifications
    Bouajjani, Ahmed
    Emmi, Michael
    Enea, Constantin
    Hamza, Jad
    PROGRAMMING LANGUAGES AND SYSTEMS, 2013, 7792 : 290 - 309
  • [9] Case studies on translation of RTPA specifications into java']java programs
    Wang, YX
    Wu, MW
    IEEE CCEC 2002: CANADIAN CONFERENCE ON ELECTRCIAL AND COMPUTER ENGINEERING, VOLS 1-3, CONFERENCE PROCEEDINGS, 2002, : 675 - 680
  • [10] JKelloy: A Proof Assistant for Relational Specifications of Java']Java Programs
    El Ghazi, Aboubakr Achraf
    Ulbrich, Mattias
    Gladisch, Christoph
    Tyszberowicz, Shmuel
    Taghdiri, Mana
    NASA FORMAL METHODS, NFM 2014, 2014, 8430 : 173 - 187