While fixing concurrency bugs, program repair algorithms may introduce new concurrency bugs. We present an algorithm that avoids such regressions. The solution space is given by a set of program transformations we consider in the repair process. These include reordering of instructions within a thread and inserting atomic sections. The new algorithm learns a constraint on the space of candidate solutions, from both positive examples (error-free traces) and counterexamples (error traces). From each counterexample, the algorithm learns a constraint necessary to remove the errors. From each positive examples, it learns a constraint that is necessary in order to prevent the repair from turning the trace into an error trace. We implemented the a...
technical reportThis paper explores the practicality of conducting program analysis for multithread...
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
While fixing concurrency bugs, program repair algorithms may introduce new concurrency bugs. We pres...
While fixing concurrency bugs, program repair algorithms may introduce new concurrency bugs. We pres...
Abstract. While fixing concurrency bugs, program repair algorithms may introduce new concurrency bug...
We develop program synthesis techniques that can help programmers fix concurrency-related bugs. We m...
Abstract. We develop program synthesis techniques that can help pro-grammers fix concurrency-related...
In this thesis we present a computer-aided programming approach to concurrency. Our approach helps t...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
We present a method and a tool for generating succinct representations of sets of concurrent traces....
We investigate the combination of AI techniques with model checking, which is a suc- ce...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
We describe an automated approach for detecting concurrency defects from design diagrams of a softwa...
technical reportThis paper explores the practicality of conducting program analysis for multithread...
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
While fixing concurrency bugs, program repair algorithms may introduce new concurrency bugs. We pres...
While fixing concurrency bugs, program repair algorithms may introduce new concurrency bugs. We pres...
Abstract. While fixing concurrency bugs, program repair algorithms may introduce new concurrency bug...
We develop program synthesis techniques that can help programmers fix concurrency-related bugs. We m...
Abstract. We develop program synthesis techniques that can help pro-grammers fix concurrency-related...
In this thesis we present a computer-aided programming approach to concurrency. Our approach helps t...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
We present a method and a tool for generating succinct representations of sets of concurrent traces....
We investigate the combination of AI techniques with model checking, which is a suc- ce...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
We describe an automated approach for detecting concurrency defects from design diagrams of a softwa...
technical reportThis paper explores the practicality of conducting program analysis for multithread...
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...