Model and Program Repair via SAT Solving
Paul C. Attie, Jad Saklawi

TL;DR
This paper introduces a SAT-based approach for repairing finite Kripke structures and concurrent programs to satisfy modal or temporal logic specifications, providing a complete and adaptable method for model correction.
Contribution
The authors develop a SAT encoding for the model repair problem, extend it to concurrent programs and control problems, and analyze its computational complexity.
Findings
SAT encoding enables effective model repair.
Complete algorithm guarantees finding a repair if it exists.
NP-completeness established for CTL model repair.
Abstract
We consider the following \emph{model repair problem}: given a finite Kripke structure and a specification formula in some modal or temporal logic, determine if contains a substructure (with the same initial state) that satisfies . Thus, can be ``repaired'' to satisfy the specification by deleting some transitions. We map an instance of model repair to a boolean formula such that has a solution iff is satisfiable. Furthermore, a satisfying assignment determines which transitions must be removed from to generate a model of . Thus, we can use any SAT solver to repair Kripke structures. Furthermore, using a complete SAT solver yields a complete algorithm: it always finds a repair if one exists. We extend our method to repair finite-state shared memory concurrent programs, to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Petri Nets in System Modeling · Advanced Software Engineering Methodologies
