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 条
  • [41] Full contract verification for ATL using symbolic execution
    Bentley James Oakes
    Javier Troya
    Levi Lúcio
    Manuel Wimmer
    Software & Systems Modeling, 2018, 17 : 815 - 849
  • [42] Full contract verification for ATL using symbolic execution
    Oakes, Bentley James
    Troya, Javier
    Lucio, Levi
    Wimmer, Manuel
    SOFTWARE AND SYSTEMS MODELING, 2018, 17 (03): : 815 - 849
  • [43] Interactive verification of concurrent systems using symbolic execution
    Baeumler, Simon
    Balser, Michael
    Nafz, Florian
    Reif, Wolfgang
    Schellhorn, Gerhard
    AI COMMUNICATIONS, 2010, 23 (2-3) : 285 - 307
  • [44] Gradual C0: Symbolic Execution for Gradual Verification
    Divincenzo, Jenna
    Mccormack, Ian
    Zimmerman, Conrad
    Gouni, Hemant
    Gorenburg, Jacob
    Ramos-davila, Jan-paul
    Zhang, Mona
    Sunshine, Joshua
    Tanter, Eric
    Aldrich, Jonathan
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2024, 46 (04):
  • [45] Efficient Verification of Sequential and Concurrent C Programs
    S. Chaki
    E. Clarke
    A. Groce
    J. Ouaknine
    O. Strichman
    K. Yorav
    Formal Methods in System Design, 2004, 25 : 129 - 166
  • [46] Abstraction and subsumption in modular verification of C programs
    Lennart Beringer
    Andrew W. Appel
    Formal Methods in System Design, 2021, 58 : 322 - 345
  • [47] Multi-prover verification of C programs
    Filliâtre, JC
    Marché, C
    FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2004, 3308 : 15 - 29
  • [48] Efficient verification of sequential and concurrent C programs
    Chaki, S
    Clarke, E
    Groce, A
    Ouaknine, J
    Strichman, O
    Yorav, K
    FORMAL METHODS IN SYSTEM DESIGN, 2004, 25 (2-3) : 129 - 166
  • [49] Region analysis for deductive verification of C programs
    M. U. Mandrykin
    A. V. Khoroshilov
    Programming and Computer Software, 2016, 42 : 257 - 278
  • [50] Using compressed bytecode traces for slicing Java']Java programs
    Wang, T
    Roychoudhury, A
    ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, : 512 - 521