VSL 2014: VIENNA SUMMER OF LOGIC 2014

Regression-free Synthesis for Concurrency

Authors: Pavol Cerny, Thomas Henzinger, Arjun Radhakrishna, Leonid Ryzhyk and Thorsten Tarrach

PapersPapers with AbstractsPrefaceAuthor IndexKeyword Index

Paper Information

Title:Regression-free Synthesis for Concurrency
Authors:Pavol Cerny, Thomas Henzinger, Arjun Radhakrishna, Leonid Ryzhyk and Thorsten Tarrach
Proceedings:CAV 2014 LNCS Proceedings
Editors: Armin Biere, Swen Jacobs and Roderick Bloem
Keywords:Program synthesis, Program repair, Concurrency, Device Drivers
Abstract:

ABSTRACT. While fixing concurrency bugs, program repair algorithms may introduce new concurrency bugs. We present a new repair algorithm that avoids such regressions. The solution space is given by the program transformations we consider in the repair process. These include reordering of instructions within a thread, inserting atomic sections, and inserting wait-notify mechanisms. The new algorithm, PACES, is an extension of the CEGIS loop. It learns constraints on the space of candidate solutions, from both positive examples (error-free traces) and counterexamples (error traces). From counterexamples, the algorithm learns a constraint necessary to remove them. From positive examples, it learns constraints that are necessary in order to prevent the repair from turning the trace into a counterexample. We implemented the algorithm and evaluated it on simplified Linux device drivers with known bugs. The tool is able to fix the bugs while avoiding regressions.

Pages:16
Talk:Jul 21 14:50
Paper:
Disclaimer | Powered by EasyChair Smart Program