Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Higher-Order and Symbolic Computation: Abstract, 13(4)315-353
[go: Go Back, main page]

Higher-Order and Symbolic Computation, 13(4)315-353

Slicing Software for Model Construction

John Hatcliff, Computing and Information Sciences Department, Kansas State University, 234 Nichols Hall, Manhattan KS, 66506, USA
Matthew B. Dwyer, Computing and Information Sciences Department, Kansas State University, 234 Nichols Hall, Manhattan KS, 66506, USA
Hongjun Zheng, Computing and Information Sciences Department, Kansas State University, 234 Nichols Hall, Manhattan KS, 66506, USA

Abstract: Applying finite-state verification techniques (e.g., model checking) to software requires that program source code be translated to a finite-state transition system that safely models program behavior. Automatically checking such a transition system for a correctness property is typically very costly, thus it is necessary to reduce the size of the transition system as much as possible. In fact, it is often the case that much of a program's source code is irrelevant for verifying a given correctness property.

In this paper, we apply program slicing techniques to remove automatically such irrelevant code and thus reduce the size of the corresponding transition system models. We give a simple extension of the classical slicing definition, and prove its safety with respect to model checking of linear temporal logic (LTL) formulae. We discuss how this slicing strategy fits into a general methodology for deriving effective software models using abstraction-based program specialization.

Keywords: software verification, model-checking, state-space reduction, linear temporal logic, program slicing, program dependence graph

This article can be downloaded [here].
[picture of journal cover]

June 2003 - hosc@brics.dk