Data Structure Repair Using Goal-Directed Reasoning
Model-based data structure repair is a promising techniquefor enabling programs to continue to execute successfullyin the face of otherwise fatal data structure corruption errors.Previous research in this eld relied on the developerto write a speci cation to explicitly translate model repairsinto concrete data structure repairs, raising the possibilityof 1) incorrect translations causing the supposedly repairedconcrete data structures to be inconsistent, and 2) repairedmodels with no corresponding concrete data structure representation.We present a new repair algorithm that uses goal-directedreasoning to automatically translate model repairs into concretedata structure repairs. This new repair algorithm eliminatesthe possibility of incorrect translations and repairedmodels with no corresponding representation as concretedata structures. Unlike our old algorithm, our new algorithmcan also repair linked data structures such as a list ora tree.