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 条
  • [31] A compact execution history for dynamic slicing
    Dhamdhere, DM
    Gururaja, K
    Ganu, PG
    INFORMATION PROCESSING LETTERS, 2003, 85 (03) : 145 - 152
  • [32] AN ISOLATION APPROACH TO SYMBOLIC EXECUTION-BASED VERIFICATION OF ADA TASKING PROGRAMS
    DILLON, LK
    JOURNAL OF SYSTEMS AND SOFTWARE, 1991, 14 (03) : 183 - 198
  • [33] Distributed execution of functional programs using the JVM
    Du Bois, AR
    Costa, ACD
    COMPUTER AIDED SYSTEMS THEORY - EUROCAST 2001, 2001, 2178 : 570 - 582
  • [34] Precise slicing of concurrent programs An Evaluation of static slicing algorithms for concurrent programs
    Giffhorn, Dennis
    Hammer, Christian
    AUTOMATED SOFTWARE ENGINEERING, 2009, 16 (02) : 197 - 234
  • [35] A TEST VERIFICATION TOOL FOR C AND C++ PROGRAMS
    NEUDER, DL
    HEWLETT-PACKARD JOURNAL, 1991, 42 (02): : 83 - 92
  • [36] KeY-C: A tool for verification of C programs
    Muerk, Oleg
    Larsson, Daniel
    Haehnle, Reiner
    AUTOMATED DEDUCTION - CADE-21, PROCEEDINGS, 2007, 4603 : 385 - +
  • [37] Efficient program verification using binary trees and program slicing
    Takahashi, M
    Mizukoshi, N
    Tsuda, K
    KNOWLEDGE-BASED INTELLIGENT INFORMATION AND ENGINEERING SYSTEMS, PT 1, PROCEEDINGS, 2004, 3213 : 487 - 493
  • [38] Formal verification of a system-on-chip using computation slicing
    Sen, A
    Bhadra, J
    Garg, VK
    Abraham, JA
    INTERNATIONAL TEST CONFERENCE 2004, PROCEEDINGS, 2004, : 810 - 819
  • [39] Overlapping execution with transfer using non-strict execution for mobile programs
    Krintz, C
    Calder, B
    Lee, HB
    Zorn, BG
    ACM SIGPLAN NOTICES, 1998, 33 (11) : 159 - 169
  • [40] Using dynamic symbolic execution to improve deductive verification
    Vanoverberghe, Dries
    Bjorner, Nikolaj
    de Halleux, Jonathan
    Schulte, Wolfram
    Tillmann, Nikolai
    MODEL CHECKING SOFTWARE, PROCEEDINGS, 2008, 5156 : 9 - 25