Model and program repair via sat solving

dc.contributor.authorAttie, Paul C.
dc.contributor.authorAlbab, Kinan Dak
dc.contributor.authorSakr, Mouhammad
dc.contributor.departmentDepartment of Computer Science
dc.contributor.facultyFaculty of Arts and Sciences (FAS)
dc.contributor.institutionAmerican University of Beirut
dc.date.accessioned2025-01-24T11:22:56Z
dc.date.available2025-01-24T11:22:56Z
dc.date.issued2017
dc.description.abstractWe 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 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. © 2017 ACM.
dc.identifier.doihttps://doi.org/10.1145/3147426
dc.identifier.eid2-s2.0-85041434813
dc.identifier.urihttp://hdl.handle.net/10938/25561
dc.language.isoen
dc.publisherAssociation for Computing Machinery
dc.relation.ispartofACM Transactions on Embedded Computing Systems
dc.sourceScopus
dc.subjectModel checking
dc.subjectModel repair
dc.subjectProgram repair
dc.subjectTemporal logic
dc.subjectAbstracting
dc.subjectBoolean algebra
dc.subjectFormal logic
dc.subjectBoolean formulae
dc.subjectConcurrent program
dc.subjectKripke structure
dc.subjectRepair methods
dc.subjectSat solvers
dc.subjectSatisfying assignments
dc.subjectStates and transitions
dc.subjectRepair
dc.titleModel and program repair via sat solving
dc.typeArticle

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2017-4420.pdf
Size:
1.43 MB
Format:
Adobe Portable Document Format