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 条
  • [21] Verifying SOS specifications
    Bloom, B
    Cheng, A
    Dsouza, A
    COMPASS '96 - PROCEEDINGS OF THE ELEVENTH ANNUAL CONFERENCE ON COMPUTER ASSURANCE: SYSTEMS INTEGRITY, SOFTWARE SAFETY, PROCESS SECURITY, 1996, : 117 - 127
  • [22] TestEra: A tool for testing Java programs using alloy specifications
    Electrical and Computer Engineering, University of Texas, Austin, TX, United States
    不详
    IEEE/ACM Int. Conf. Autom. Softw. Eng., ASE, Proc., (608-611):
  • [23] Verifying safety properties of concurrent Java']Java programs using 3-valued logic
    Yahav, E
    ACM SIGPLAN NOTICES, 2001, 36 (03) : 27 - 40
  • [24] Synthesis of Coordination Programs from Linear Temporal Specifications
    Bansal, Suguman
    Namjoshi, Kedar S.
    Sa'ar, Yaniv
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (POPL):
  • [25] USING TEMPORAL LOGIC SPECIFICATIONS TO DEBUG PARALLEL PROGRAMS
    FREY, M
    WEININGER, A
    MICROPROCESSING AND MICROPROGRAMMING, 1993, 39 (2-5): : 97 - 100
  • [26] Synthesis of Asynchronous Reactive Programs from Temporal Specifications
    Bansal, Suguman
    Namjoshi, Kedar S.
    Sa'ar, Yaniv
    COMPUTER AIDED VERIFICATION (CAV 2018), PT I, 2018, 10981 : 367 - 385
  • [27] Testing parallel and distributed programs with temporal logic specifications
    Frey, M
    Oberhuber, M
    SECOND INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING FOR PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1997, : 62 - 72
  • [28] Automatically Verifying Temporal Properties of Pointer Programs with Cyclic Proof
    Gadi Tellez
    James Brotherston
    Journal of Automated Reasoning, 2020, 64 : 555 - 578
  • [29] Automatically Verifying Temporal Properties of Pointer Programs with Cyclic Proof
    Tellez, Gadi
    Brotherston, James
    JOURNAL OF AUTOMATED REASONING, 2020, 64 (03) : 555 - 578
  • [30] Automatically Verifying Temporal Properties of Pointer Programs with Cyclic Proof
    Tellez, Gadi
    Brotherston, James
    AUTOMATED DEDUCTION - CADE 26, 2017, 10395 : 491 - 508