Abstract
We consider the subtractive model repair problem: given a finite Kripke structure M and a CTL formula η, determine if M contains a substructure M′ that satisfies η. Thus, M can be “repaired” to satisfy eta by deleting some transitions and states. We map an instance 〈 M,η 〉 of model repair to a Boolean formula repair(M,η) such that 〈 M,η 〉 has a solution iff repair(M,η) is satisfiable. Furthermore, a satisfying assignment determines which states and transitions must be removed from M to yield a model M′ of η Thus, we can use any SAT solver to repair Kripke structures. Using a complete SAT solver yields a complete algorithm: it always finds a repair if one exists. We also show that CTL model repair is NP-complete. We extend the basic repair method in three directions: (1) the use of abstraction mappings, that is, repair a structure abstracted from M and then concretize the resulting repair to obtain a repair of M, (2) repair concurrent Kripke structures and concurrent programs: we use the pairwise method of Attie and Emerson to represent and repair the behavior of a concurrent program, as a set of “concurrent Kripke structures”, with only a quadratic increase in the size of the repair formula, and (3) repair hierarchical Kripke structures: we use a CTL formula to summarize the behavior of each “box,” and CTL deduction to relate the box formula with the overall specification.
- R. Alur, T. A. Henzinger, and O. Kupferman. 2002. Alternating-time temporal logic. J. ACM 49 (2002), 672--713. Google Scholar
Digital Library
- R. Alur and M. Yannakakis. 2001. Model checking of hierarchical state machines. ACM Trans. Program. Lang. Syst. 23, 3 (2001), 273--303. Google Scholar
Digital Library
- P. C. Attie. 2016. Finite-state concurrent programs can be expressed in pairwise normal form. Theor. Comput. Sci. 619 (2016), 1--31. Google Scholar
Digital Library
- P. C. Attie. 2016. Synthesis of large dynamic concurrent programs from dynamic specifications. Formal Methods Syst. Design 48, 1 (2016), 94--147. Google Scholar
Digital Library
- P. C. Attie and E. A. Emerson. 1996. Synthesis of concurrent systems for an atomic read/atomic write model of computation. In Proceedings of the 15th Annual ACM Symposium on Principles of Distributed Computing (PODC’96). ACM, New York, NY, 111--120. Google Scholar
Digital Library
- P. C. Attie and E. A. Emerson. 2001. Synthesis of concurrent programs for an atomic read/write model of computation. Trans. Program. Lang. Syst. 23, 2 (2001), 187--242. Google Scholar
Digital Library
- P. C. Attie. 1999. Synthesis of large concurrent programs via pairwise composition. In Proceedings of the 10th International Conference on Concurrency Theory (CONCUR’99). Springer-Verlag, Eindhoven, The Netherlands, 130--145. Google Scholar
Digital Library
- P. C. Attie and E. A. Emerson. 1998. Synthesis of concurrent systems with many similar processes. Trans. Program. Lang. Syst. 20, 1 (Jan. 1998), 51--115. Google Scholar
Digital Library
- A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu. 1999. Symbolic model checking without BDDs. In Proceedings of the Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’99), LNCS No. 1579. Springer-Verlag, Amsterdam, The Netherlands, 193--207. Google Scholar
Digital Library
- M. C. Browne, E. M. Clarke, and O. Grumberg. 1988. Characterizing finite kripke structures in propositional temporal logic. Theoret. Comput. Sci. 59 (1988), 115--131. Google Scholar
Digital Library
- F. Buccafurri, T. Eiter, G. Gottlob, and N. Leone. 1999. Enhancing model checking in verification by AI techniques. Artif. Intell. 112 (1999), 57--104. Google Scholar
Digital Library
- M. Carrillo and D. A. Rosenblueth. 2009. A method for CTL model update, representing kripke structures as table systems. Int. J. Pure Appl. Math. 52 (2009), 401--431.Google Scholar
- G. Chatzieleftheriou, B. Bonakdarpour, S. A. Smolka, and P. Katsaros. 2012. Abstract model repair. In NASA Formal Methods, Alwyn E. Goodloe and Suzette Person (Eds.). Lecture Notes in Computer Science, Vol. 7226. Springer, Berlin. 341--355. Google Scholar
Digital Library
- E. M. Clarke, E. A. Emerson, and J. Sifakis. 2009. Model checking: Algorithmic verification and debugging. Commun. ACM 52, 11 (Nov. 2009), 74--84. Google Scholar
Digital Library
- E. M. Clarke, O. Grumberg, and D. E. Long. 1994. Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16, 5 (Sept. 1994), 1512--1542. Google Scholar
Digital Library
- E. M. Clarke and H. Veith. 2003. Counterexamples revisited: Principles, algorithms, applications. In Verification: Theory and Practice. Springer, 208--224.Google Scholar
- E. M. Clarke, E. A. Emerson, and P. Sistla. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. Trans. Program. Lang. Syst. 8, 2 (1986), 244--263. Google Scholar
Digital Library
- E. M. Clarke, O. Grumberg, K. L. McMillan, and X. Zhao. 1995. Efficient generation of counterexamples and witnesses in symbolic model checking. In Proceedings of the Design Automation Conference. ACM Press, New York, NY, 427--432. Google Scholar
Digital Library
- E. W. Dijkstra. 1976. A Discipline of Programming. Prentice-Hall Inc., Englewood Cliffs, NJ. Google Scholar
Digital Library
- E. A. Emerson. 1990. Temporal and modal logic. Handbook of Theoretical Computer Science B (1990), 997--1072. Google Scholar
Digital Library
- E. A. Emerson and E. M. Clarke. 1982. Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2, 3 (1982), 241--266.Google Scholar
Cross Ref
- A. Fekete, D. Gupta, V. Luchango, N. Lynch, and A. Shvartsman. 1999. Eventually-serializable data services. Theor. Comput. Sci. 220 (1999), 113--156. Google Scholar
Digital Library
- S. Graf and H. Saidi. 1997. Construction of abstract state graphs with PVS. In Proceedings of the Conference on Computer Aided Verification (CAV’97). LNCS, Vol. 1254. Springer, London, UK, 72--83. Google Scholar
Digital Library
- O. Grumberg and D. E. Long. 1994. Model checking and modular verification. Trans. Program. Lang. Syst. 16, 3 (1994), 843--871. Google Scholar
Digital Library
- R. Hojati, R. K. Brayton, and R. P. Kurshan. 1993. BDD-based debugging of designs using language containment and fair CTL. In Proceedings of the Conference on Computer Aided Verification (CAV’93). Springer-Verlag, London, UK, 41--58. Springer LNCS No. 697. Google Scholar
Digital Library
- B. Jobstmann, A. Griesmayer, and R. Bloem. 2005. Program repair as a game. In Proceedings of the Conference on Computer Aided Verification (CAV’05). Springer-Verlag, Berlin, Heidelberg, 226--238. Google Scholar
Digital Library
- R. Ladin, B. Liskov, L. Shrira, and S. Ghemawat. 1992. Providing high availability using lazy replication. ACM Trans. Comput. Syst. 10, 4 (Nov. 1992), 360--391. Google Scholar
Digital Library
- D. Le Berre, A. Parrain, et al. 2010. The sat4j library, release 2.2, system description. J. Satis. Boolean Model. Comput. 7 (2010), 59--64.Google Scholar
Cross Ref
- S. Shoham and O. Grumberg. 2003. A game-based framework for CTL counterexamples and 3-valued abstraction-refinement. In Proceedings of the Conference on Computer Aided Verification (CAV’03). ACM, New York, NY, 275--287.Google Scholar
- S. Staber, B. Jobstmann, and R. Bloem. 2005. Finding and fixing faults. In Proceedings of the Conference on Correct Hardware Design and Verification Methods (CHARME’05). Springer-Verlag, Berlin, 35--49. Springer LNCS No. 3725. Google Scholar
Digital Library
- C. Stirling and D. Walker. 1991. Local model checking in the modal mu-calculus. Theor. Comput. Sci. 89, 1 (1991), 161--177. Google Scholar
Digital Library
- Y. Zhang and Y. Ding. 2008. CTL model update for system modifications. J. Artif. Int. Res. 31, 1 (Jan. 2008), 113--155. Google Scholar
Digital Library
Index Terms
Model and Program Repair via SAT Solving
Recommendations
Model and Program Repair via Group Actions
Foundations of Software Science and Computation StructuresAbstractGiven a textual representation of a finite-state concurrent program , one can construct the corresponding Kripke structure . However, the size of can be exponentially larger than the textual size of . This state explosion can make model ...
Model and program repair via SAT solving
MEMOCODE '15: Proceedings of the 2015 ACM/IEEE International Conference on Formal Methods and Models for CodesignWe consider the subtractive model repair problem: given a finite Kripke structure M and a CTL formula η, determine if M contains a substructure M' that satisfies η. Thus, M can be repaired to satisfy η by deleting states and/or transitions. We give a ...
Abstract model repair
NFM'12: Proceedings of the 4th international conference on NASA Formal MethodsGiven a Kripke structure M and CTL formula φ, where M ⊭ φ, the problem of Model Repair is to obtain a new model M′ such that M′⊨φ. Moreover, the changes made to M to derive M′ should be minimal with respect to all such M′. As in model checking, state ...






Comments