Sciweavers

KBSE
2007
IEEE

Assertion-based repair of complex data structures

14 years 5 months ago
Assertion-based repair of complex data structures
Programmers have long used assertions to characterize properties of code. An assertion violation signals a corruption in the program state. At such a state, it is standard to terminate the program, debug it if possible, and re-execute it. We propose a new view: instead of terminating the program, use the violated assertion as a basis of repairing the state of the program and let it continue. We present a novel algorithm to repair complex data structures. Given a structure that violates an assertion that represents its integrity constraints, our algorithm performs a systematic search based on symbolic execution to repair the structure, i.e., mutate it such that the resulting structure satisfies the given constraints. Heuristics to prune search and minimize mutations enable efficient and effective repair. Experiments using libraries and applications, such as a naming architecture and a database engine, show that our prototype efficiently repairs complex structures while enabling syst...
Bassem Elkarablieh, Ivan Garcia, Yuk Lai Suen, Sar
Added 04 Jun 2010
Updated 04 Jun 2010
Type Conference
Year 2007
Where KBSE
Authors Bassem Elkarablieh, Ivan Garcia, Yuk Lai Suen, Sarfraz Khurshid
Comments (0)