Abstract. 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 pro-gram 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 solu-tions, from both positive examples (error-free traces) and counterexam-ples (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 impl...
AbstractWe focus on the constraint-based automated addition of nonmasking and stabilizing fault-tole...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Many software systems today are concurrent programs as multi-core pro-cessors become popular. Howeve...
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. We develop program synthesis techniques that can help pro-grammers fix concurrency-related...
We develop program synthesis techniques that can help programmers fix concurrency-related bugs. We m...
In this thesis we present a computer-aided programming approach to concurrency. Our approach helps t...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
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....
This paper received a Best Paper Award at EuroSys 2023International audienceKnowing which functions ...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
AbstractWe focus on the constraint-based automated addition of nonmasking and stabilizing fault-tole...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Many software systems today are concurrent programs as multi-core pro-cessors become popular. Howeve...
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. We develop program synthesis techniques that can help pro-grammers fix concurrency-related...
We develop program synthesis techniques that can help programmers fix concurrency-related bugs. We m...
In this thesis we present a computer-aided programming approach to concurrency. Our approach helps t...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
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....
This paper received a Best Paper Award at EuroSys 2023International audienceKnowing which functions ...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
AbstractWe focus on the constraint-based automated addition of nonmasking and stabilizing fault-tole...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Many software systems today are concurrent programs as multi-core pro-cessors become popular. Howeve...