Abstract

AbstractGiven a textual representation of a finite-state concurrent program $$P$$ P , one can construct the corresponding Kripke structure $$\mathcal {M}$$ M . However, the size of $$\mathcal {M}$$ M can be exponentially larger than the textual size of $$P$$ P . This state explosion can make model checking properties of $$P$$ P via $$\mathcal {M}$$ M expensive or even infeasible. The action of a symmetry group $$G$$ G on $$\mathcal {M}$$ M can be used to produce a smaller Kripke structure $$\overline{\mathcal {M}}$$ M ¯ . Various authors have exploited the direct correspondence between $$\mathcal {M}$$ M and $$\overline{\mathcal {M}}$$ M ¯ to perform model checking. When the structure $$\mathcal {M}$$ M does not satisfy a formula, one can look for a substructure that will satisfy the formula. We call this substructure-repair: identifying a substructure $$\mathcal {N}$$ N of $$\mathcal {M}$$ M that satisfies a given temporal logic formula.In this paper we extend previous work by showing that repairs of $$\overline{\mathcal {M}}$$ M ¯ lift to repairs of $$\mathcal {M}$$ M . In other words, we can repair a computer program $$P$$ P , which exhibits a high degree of symmetry, by repairing the smaller Kripke structure $$\overline{\mathcal {M}}$$ M ¯ and then symmetrizing the corresponding program. To do this we arrange the substructures of $$\mathcal {M}$$ M and $$\overline{\mathcal {M}}$$ M ¯ into substructure lattices that are ordered by substructure inclusion. We show that the substructures of $$\mathcal {M}$$ M preserved by $$G$$ G form a (sub)lattice that maps to the substructure lattice of $$\overline{\mathcal {M}}$$ M ¯ . When restricted to the lattice of substructures of $$\mathcal {M}$$ M that are “maximal” with the action of $$G$$ G on $$\mathcal {M}$$ M , the above map is a lattice isomorphism.These results enable us to repair $$\overline{\mathcal {M}}$$ M ¯ and then to lift the repair to $$\mathcal {M}$$ M . In cases where a program has a high degree of symmetry, such as in many concurrent programs, we can repair the program by repairing the small Kripke structure $$\overline{\mathcal {M}}$$ M ¯ .

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.