Exploiting symmetry when model-checking software

被引:0
|
作者
Godefroid, P [1 ]
机构
[1] Bell Labs, Lucent Technol, Naperville, IL 60566 USA
关键词
software testing; model checking; state-explosion problem; symmetry; partial-order methods;
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
We study how to exploit symmetry induced by identical processes or data structures when systematically exploring the state spaces of concurrent software applications such as implementations of communication protocols. Existing model-checking symmetry reduction methods are based on equivalence classes of states, and assume that every system state can easily be encoded by a unique string of bits. When dealing with processes described by software programs written in full-fledged programming languages such as C, C++ or Java, this assumption is not valid anymore. Indeed, the state of each process is determined by the values of all the memory locations that can be accessed by the process and influence its behavior (including activation records associated to procedure calls). This amount of information is typically far too large and complex to be efficiently computed at each step of a state-space exploration We develop in this paper a simple theory based on equivalence classes of sequences of transitions for representing symmetries in a system. We then present a state-space exploration algorithm for exploiting symmetries on transitions which does not rely on explicit encodings of system states. This algorithm can be used to dynamically prune the state spaces of implementations of concurrent reactive software systems in a reliable way.
引用
收藏
页码:257 / 275
页数:19
相关论文
共 50 条
  • [1] Symmetry reductions in model-checking
    Sistla, AP
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2003, 2575 : 25 - 25
  • [2] Model-checking software using precise abstractions
    Chechik, Marsha
    Gurfinkel, Arie
    [J]. VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS, 2008, 4171 : 347 - 353
  • [3] Model-checking complex software - A memory perspective
    Rangarajan, M
    Cofer, D
    [J]. RADICAL INNOVATIONS OF SOFTWARE AND SYSTEMS ENGINEERING IN THE FUTURE, 2004, 2941 : 283 - 296
  • [4] Utilizing symmetry when model-checking under fairness assumptions: An automata-theoretic approach
    Emerson, EA
    Sistla, AP
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1997, 19 (04): : 617 - 638
  • [5] Model-Checking of Safety-Critical Software for Avionics
    Cofer, Darren
    Whalen, Michael
    Miller, Steven
    [J]. ERCIM NEWS, 2008, (75): : 15 - 16
  • [6] Software Model-Checking as Cyclic-Proof Search
    Tsukada, Takeshi
    Unno, Hiroshi
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (POPL):
  • [7] Model-checking software library API usage rules
    Fu Song
    Tayssir Touili
    [J]. Software & Systems Modeling, 2016, 15 : 961 - 985
  • [8] Model-checking software library API usage rules
    Song, Fu
    Touili, Tayssir
    [J]. SOFTWARE AND SYSTEMS MODELING, 2016, 15 (04): : 961 - 985
  • [9] Exploiting symmetry in temporal logic model checking
    Clarke, EM
    Enders, R
    Filkorn, T
    Jha, S
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 1996, 9 (1-2) : 77 - 104
  • [10] The model-checking kit
    Schröter, C
    Schwoon, S
    Esparza, J
    [J]. APPLICATIONS AND THEORY OF PETRI NETS 2003, PROCEEDINGS, 2003, 2679 : 463 - 472