kirancodes.me
To Proof Maintenance & Beyond!

Automated model repair for Alloy

Kaiyuan Wang, Allison Sullivan, Sarfraz Khurshid

Abstract

Automated program repair is an active research area. However, existing research focuses mostly on imperative code, e.g. in Java. In this paper, we study the problem of repairing declarative models in Alloy -- a first order relational logic with transitive closure. We introduce ARepair, the first technique for repairing Alloy models. ARepair follows the spirit of traditional automated program repair techniques. Specifically, ARepair takes as input a faulty Alloy model and a test suite that contains some failing test, and outputs a repaired model that is correct with respect to the given tests. ARepair integrates ideas from mutation testing and program synthesis to provide an effective solution for repairing Alloy models. The experimental results show that ARepair can fix 28 out of 38 real-world faulty models we collected.

BibTeX
@inproceedings{Wang-al:ASE18,
  author    = {Kaiyuan Wang and
               Allison Sullivan and
               Sarfraz Khurshid},
  title     = {Automated model repair for Alloy},
  booktitle = {ASE},
  pages     = {577--588},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers