Automated Model Repair for Alloy
Automated Model Repair for Alloy
复制标题
DOI:
10.1145/3238147.3238162
复制
发表时间:
2018-09
期刊:
影响因子:
--
通讯作者:
Kaiyuan Wang;Allison Sullivan;S. Khurshid
中科院分区:
文献类型:
--
作者:
Kaiyuan Wang;Allison Sullivan;S. Khurshid
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.