Adaptive Verification using Forced Simulation

Simulation (a pre-order) over Kripke structures is a well known formal verification technique. Simulation guarantees that all behaviours of an abstracted structure (a property or function, F) are contained in a larger structure (a model M). A model, however, may not always simulate a property due to the presence of design errors. In this case, the model is debugged manually. In this paper, we propose a weaker simulation over structures called forced simulation for automated debugging. Forced simulation is applied when normal simulation fails. Forced simulation between a model (M) and a function (F) guarantees the existence of a modifier, D, to adapt M so that the composition of M and D is observationally equivalent to F. Observational equivalence over structures called weak bisimulation is developed in this paper. It is also established that when two structures are weakly bisimilar all CTL^* properties holding over one also holds over the other structure. Forced simulation based algorithm has been used to adapt many designs which had failed certain properties during conventional verification.

[1]  Jana Kosecka,et al.  Control of Discrete Event Systems , 1992 .

[2]  Max J. Cresswell,et al.  A New Introduction to Modal Logic , 1998 .

[3]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[4]  Doron A. Peled,et al.  Software Reliability Methods , 2001, Texts in Computer Science.

[5]  Alex Groce,et al.  Adaptive Model Checking , 2006, Log. J. IGPL.

[6]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[7]  Orna Kupferman,et al.  Module Checking , 1996, Inf. Comput..

[8]  Arcot Sowmya,et al.  Forced simulation: A technique for automating component reuse in embedded systems , 2001, TODE.

[9]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[10]  Arcot Sowmya,et al.  Extending Statecharts with Temporal Logic , 1998, IEEE Trans. Software Eng..

[11]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[12]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[13]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[14]  Doron A. Peled,et al.  Temporal Debugging for Concurrent Systems , 2002, TACAS.

[15]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[16]  Moshe Y. Vardi Verification of Concurrent Programs: The Automata-Theoretic Framework , 1991, Ann. Pure Appl. Log..