TY - GEN
T1 - Static program transformations for efficient software model checking
AU - Vasudevan, Shobha
AU - Abraham, Jacob A.
N1 - Copyright:
Copyright 2020 Elsevier B.V., All rights reserved.
PY - 2004
Y1 - 2004
N2 - Ensuring correctness of software by formal methods is a very relevant and widely studied problem. Automatic verification of software using model checking suffers from the state space explosion problem. Abstraction is emerging as the key candidate for making the model checking problem tractable, and a large body of research exists on abstraction based verification. Many useful abstractions are performed at the syntactic and semantic levels of programs and their representations. In this paper, we explore abstraction based verification techniques that have been used at the program source code level. We provide a brief survey of these program transformation techniques. We also examine, in some detail, Program Slicing, an abstraction technique that holds great promise when dealing with complex software. We introduce the idea of using more specialized forms of slicing, Conditioned Slicing and Amorphous Slicing, as program transformation based abstractions for model checking. Experimental results using conditioned slicing for verifying safety properties written in temporal logic show the promise of these techniques.
AB - Ensuring correctness of software by formal methods is a very relevant and widely studied problem. Automatic verification of software using model checking suffers from the state space explosion problem. Abstraction is emerging as the key candidate for making the model checking problem tractable, and a large body of research exists on abstraction based verification. Many useful abstractions are performed at the syntactic and semantic levels of programs and their representations. In this paper, we explore abstraction based verification techniques that have been used at the program source code level. We provide a brief survey of these program transformation techniques. We also examine, in some detail, Program Slicing, an abstraction technique that holds great promise when dealing with complex software. We introduce the idea of using more specialized forms of slicing, Conditioned Slicing and Amorphous Slicing, as program transformation based abstractions for model checking. Experimental results using conditioned slicing for verifying safety properties written in temporal logic show the promise of these techniques.
KW - Abstract interpretation
KW - Abstraction
KW - Amorphous slicing
KW - Conditioned slicing
KW - Counterexample based refinement
KW - Data abstractions
KW - Formal verification
KW - Model checking
KW - Program slicing
KW - Strong/weak property preservation
UR - http://www.scopus.com/inward/record.url?scp=62349123320&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=62349123320&partnerID=8YFLogxK
U2 - 10.1007/978-1-4020-8157-6_23
DO - 10.1007/978-1-4020-8157-6_23
M3 - Conference contribution
AN - SCOPUS:62349123320
SN - 1402081561
SN - 9781402081569
T3 - IFIP Advances in Information and Communication Technology
SP - 257
EP - 281
BT - Building the Information Society - IFIP 18th World Computer Congress Topical Sessions
PB - Springer
T2 - IFIP 18th World Computer Congress Topical Sessions
Y2 - 22 August 2004 through 27 August 2004
ER -