Verifying Full Regular Temporal Properties of Programs via Dynamic Program Execution

被引:11
|
作者
Wang, Meng [1 ]
Tian, Cong [1 ]
Zhang, Nan [1 ]
Duan, Zhenhua [1 ]
机构
[1] Xidian Univ, ICTT & ISN Lab, Xian 710071, Shaanxi, Peoples R China
基金
中国国家自然科学基金;
关键词
MSVL; program execution; program verification; software model checking; temporal property; MODEL CHECKING APPROACH; DECISION PROCEDURE; VERIFICATION; LOGIC; SYSTEMS;
D O I
10.1109/TR.2018.2876333
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Verification of programs at code level has attracted more and more attentions since the cost is high to extract models from source code. Most of approaches available for code level verification are carried out by inserting assertions into programs and then checking whether the assertions are violated. In this way, only safety properties can be verified, however, other temporal properties of programs such as liveness are hard to be verified. To tackle this problem, a novel runtime verification approach, which can verify full regular temporal properties of a program, is proposed in this paper. With this approach, a program to be verified is written in a modeling, simulation and verification language (MSVL) as a program M and a desired property is specified by a propositional projection temporal logic formula P. The negation of the desired property is then translated to anMSVL program M'. Thus, whether M violates P can be checked by evaluating whether there exists an acceptable execution of the new MSVL program "M and M'." This problem can efficiently be solved with the MSVL compiler where verification cases are generated via dynamic symbolic execution. Further, we adopt parallel mechanism to handle various execution paths of a program for improving the efficiency. The proposed approach has been implemented in a tool called MSV. Experiments show that the performance of MSV outperforms existing tools such as T2, RiTHM, and LTLAutomizer in verifying temporal properties of real-world programs.
引用
收藏
页码:1101 / 1116
页数:16
相关论文
共 25 条
  • [1] Full Regular Temporal Property Verification as Dynamic Program Execution
    Wang, Meng
    Tian, Cong
    Duan, Zhenhua
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 226 - 228
  • [2] A CEGAR-Based Static-Dynamic Approach to Verifying Full Regular Properties of C Programs
    Yang, Kai
    Tian, Cong
    Zhang, Nan
    Duan, Zhenhua
    Du, Hongwei
    IEEE TRANSACTIONS ON RELIABILITY, 2021, 70 (04) : 1455 - 1467
  • [3] Verifying Temporal Properties of C Programs via Lazy Abstraction
    Duan, Zhao
    Tian, Cong
    Duan, Zhenhua
    FORMAL METHODS AND SOFTWARE ENGINEERING, ICFEM 2017, 2017, 10610 : 122 - 139
  • [4] Verifying temporal properties of programs: A parallel approach
    Yu, Bin
    Duan, Zhenhua
    Tian, Cong
    Zhang, Nan
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2018, 118 : 89 - 99
  • [5] Verifying Temporal Regular Properties of Abstractions of Term Rewriting Systems
    Boyer, Benoit
    Genet, Thomas
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2010, (21): : 99 - 108
  • [6] Automatically Verifying Temporal Properties of Pointer Programs with Cyclic Proof
    Gadi Tellez
    James Brotherston
    Journal of Automated Reasoning, 2020, 64 : 555 - 578
  • [7] Automatically Verifying Temporal Properties of Pointer Programs with Cyclic Proof
    Tellez, Gadi
    Brotherston, James
    JOURNAL OF AUTOMATED REASONING, 2020, 64 (03) : 555 - 578
  • [8] Automatically Verifying Temporal Properties of Pointer Programs with Cyclic Proof
    Tellez, Gadi
    Brotherston, James
    AUTOMATED DEDUCTION - CADE 26, 2017, 10395 : 491 - 508
  • [9] Full-program induction: verifying array programs sans loop invariants
    Supratik Chakraborty
    Ashutosh Gupta
    Divyesh Unadkat
    International Journal on Software Tools for Technology Transfer, 2022, 24 : 843 - 888
  • [10] Full-program induction: verifying array programs sans loop invariants
    Chakraborty, Supratik
    Gupta, Ashutosh
    Unadkat, Divyesh
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2022, 24 (05) : 843 - 888