Pith. sign in

Automatically finding atomic regions for fixing bugs in Concurrent programs

1 Pith paper cite this work. Polarity classification is still indexing.

1 Pith paper citing it
abstract

This paper presents a technique for automatically constructing a fix for buggy concurrent programs: given a concurrent program that does not satisfy user-provided assertions, we infer atomic blocks that fix the program. An atomic block protects a piece of code and ensures that it runs without interruption from other threads. Our technique uses a verification tool as a subroutine to find the smallest atomic regions that remove all bugs in a given program. Keeping the atomic regions small allows for maximum concurrency. We have implemented our approach in a tool called AtomicInf. A user of AtomicInf can choose between strong and weak atomicity semantics for the inferred fix. While the former is simpler to find, the latter provides more information about the bugs that got fixed. We ran AtomicInf on several benchmarks and came up with the smallest and the most precise atomic regions in all of them. We implemented an earlier technique to our setting and observed that AtomicInf is 1.7 times faster on an average as compared to an earlier approach.

fields

cs.DC 1

years

2024 1

verdicts

CONDITIONAL 1

representative citing papers

LLOR: Automated Repair of OpenMP Programs

cs.DC · 2024-11-21 · conditional · novelty 6.0

LLOR automatically inserts or removes OpenMP synchronization constructs to fix data races in C/C++ and Fortran programs, and is claimed to be the first tool that can repair OpenMP programs.

citing papers explorer

Showing 1 of 1 citing paper.

  • LLOR: Automated Repair of OpenMP Programs cs.DC · 2024-11-21 · conditional · none · ref 29 · internal anchor

    LLOR automatically inserts or removes OpenMP synchronization constructs to fix data races in C/C++ and Fortran programs, and is claimed to be the first tool that can repair OpenMP programs.