Verification of C programs using slicing execution

被引:0
|
作者
Yi, XD [1 ]
Wang, J [1 ]
Yang, XJ [1 ]
机构
[1] Natl Lab Parallel & Distributed Proc, Changsha, Peoples R China
来源
QSIC 2005: FIFTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE, PROCEEDINGS | 2005年
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The paper presents a novel method, namely slicing execution, to verify C programs with respect to temporal safety properties. The distinguished feature is that it only simulates the execution of the relevant statements under abstraction criteria and checks the properties on the fly. The abstraction criterion begins with a proper initial set Of program variables and may be iteratively refined according to spurious counter-examples. Provided that the properties to be verified usually involve only a few variables in practical programs, slicing execution may have the same precision as path-sensitive simulation with the cost close to standard flow-sensitive dataflow analysis. The presented method has been used to verify the initial handshake process of SSL protocol based on the C source code of openssl-0.9.6c. The experiment results confirm our claim and show that slicing execution is not only practical but also effective.
引用
收藏
页码:109 / 116
页数:8
相关论文
共 50 条
  • [1] Slicing execution for model checking C programs
    Yi, Xiaodong
    Wang, Ji
    Yang, Xuejun
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2006, 16 (05) : 747 - 768
  • [2] VERIFICATION OF PROLOG PROGRAMS USING AN EXTENSION OF EXECUTION
    KANAMORI, T
    SEKI, H
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 225 : 475 - 489
  • [3] Slicing Execution with Partial Weakest Precondition for Model Abstraction of C Programs
    Yang, Xuejun
    Wang, Ji
    Yi, Xiaodong
    COMPUTER JOURNAL, 2010, 53 (01): : 37 - 49
  • [4] USING SYMBOLIC EXECUTION FOR VERIFICATION OF ADA TASKING PROGRAMS
    DILLON, LK
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1990, 12 (04): : 643 - 669
  • [5] Slicing Agent Programs for More Efficient Verification
    Winikoff, Michael
    Dennis, Louise
    Fisher, Michael
    ENGINEERING MULTI-AGENT SYSTEMS, EMAS 2018, 2019, 11375 : 139 - 157
  • [6] PBMC: Symbolic Slicing for the Verification of Concurrent Programs
    Saissi, Habib
    Bokor, Peter
    Suri, Neeraj
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, ATVA 2015, 2015, 9364 : 344 - 360
  • [7] Verification of Java']Java programs using symbolic execution and invariant generation
    Pasareanu, CS
    Visser, W
    MODEL CHECKING SOFTWARE, 2004, 2989 : 164 - 181
  • [8] No Panic! Verification of Rust Programs by Symbolic Execution
    Lindner, Marcus
    Aparicius, Jorge
    Lindgren, Per
    2018 IEEE 16TH INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2018, : 108 - 114
  • [9] Verification of C programs using automated reasoning
    Crocker, David
    Carlton, Judith
    SEFM 2007: FIFTH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, PROCEEDINGS, 2007, : 7 - +
  • [10] Using Relational Verification for Program Slicing
    Beckert, Bernhard
    Bormer, Thorsten
    Gocht, Stephan
    Herda, Mihai
    Lentzsch, Daniel
    Ulbrich, Mattias
    SOFTWARE ENGINEERING AND FORMAL METHODS (SEFM 2019), 2019, 11724 : 353 - 372