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...
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
We describe an automated approach for detecting concurrency defects from design diagrams of a softwa...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
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...
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...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
This paper received a Best Paper Award at EuroSys 2023International audienceKnowing which functions ...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
We describe an automated approach for detecting concurrency defects from design diagrams of a softwa...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
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...
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...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
This paper received a Best Paper Award at EuroSys 2023International audienceKnowing which functions ...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key steps. First, it lo...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
Concurrency faults are one of the most damaging types of faults that can affect the dependability of...
We describe an automated approach for detecting concurrency defects from design diagrams of a softwa...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...