Researchers have proposed many automated program repair techniques for imperative languages, e.g. Java. However, little work has been done to repair programs written in declarative languages, e.g. Alloy. We proposed ARepair, the first automated program repair technique for faulty Alloy models. ARepair takes as input a faulty Alloy model and a set of tests that capture the desired model properties, and produces a fixed model that passes all tests. ARepair uses tests written for the recently introduced AUnit framework, which provides a notion of unit testing for Alloy models. In this paper, we describes our Java implementation of ARepair, which is a command-line tool, released as an open-source project on GitHub. Our experimental results show that ARepair is able to fix 28 out of 38 real-world faulty models we collected. The demo video for ARepair can be found at https://youtu.be/436drvWvbEU.
Fri 31 MayDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 15:30
|PsALM: Specification of Dependable Robotic MissionsDemos|
|Symbolic Repairs for GR(1) SpecificationsTechnical Track|
|ARepair: A Repair Framework for AlloyDemos|
|Visual Debugging of Behavioural ModelsDemos|