Bounded Exhaustive Search of Alloy Specification Repairs

02/27/2021
by   Simón Gutiérrez Brida, et al.
0

The rising popularity of declarative languages and the hard to debug nature thereof have motivated the need for applicable, automated repair techniques for such languages. However, despite significant advances in the program repair of imperative languages, there is a dearth of repair techniques for declarative languages. This paper presents BeAFix, an automated repair technique for faulty models written in Alloy, a declarative language based on first-order relational logic. BeAFix is backed with a novel strategy for bounded exhaustive, yet scalable, exploration of the spaces of fix candidates and a formally rigorous, sound pruning of such spaces. Moreover, different from the state-of-the-art in Alloy automated repair, that relies on the availability of unit tests, BeAFix does not require tests and can work with assertions that are naturally used in formal declarative languages. Our experience with using BeAFix to repair thousands of realworld faulty models, collected by other researchers, corroborates its ability to effectively generate correct repairs and outperform the state-of-the-art.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/15/2017

Tortoise: Interactive System Configuration Repair

System configuration languages provide powerful abstractions that simpli...
research
10/30/2019

Stryker: Scaling Specification-Based Program Repair by Pruning Infeasible Mutants with SAT

Many techniques for automated program repair involve syntactic program t...
research
01/10/2021

Towards Repairing Scenario-Based Models with Rich Events

Repairing legacy systems is a difficult and error-prone task: often, lim...
research
04/03/2023

RunBugRun – An Executable Dataset for Automated Program Repair

Recently, we can notice a transition to data-driven techniques in Automa...
research
08/24/2022

Repair Is Nearly Generation: Multilingual Program Repair with LLMs

Most programmers make mistakes when writing code. Some of these mistakes...
research
05/08/2023

ChatUniTest: a ChatGPT-based automated unit test generation tool

Unit testing is a crucial, yet often tedious and time-consuming task. To...
research
07/24/2022

Neurosymbolic Repair for Low-Code Formula Languages

Most users of low-code platforms, such as Excel and PowerApps, write pro...

Please sign up or login with your details

Forgot password? Click here to reset