# Abstract Threads

@inproceedings{Lahiri2010AbstractT, title={Abstract Threads}, author={Shuvendu K. Lahiri and Alexander Malkis and Shaz Qadeer}, booktitle={VMCAI}, year={2010} }

Verification of large multithreaded programs is challenging. Automatic approaches cannot overcome the state explosion in the number of threads; semi-automatic methods require expensive human time for finding global inductive invariants. Ideally, automatic methods should not deal with the composition of the original threads and a human should not supply a global invariant. We provide such an approach. In our approach, a human supplies a specification of each thread in the program. Here he has…

## 6 Citations

Modular Verification of Concurrent Programs via Sequential Model Checking

- Computer ScienceATVA
- 2018

This work reduces the verification of a concurrent program to a series of verification tasks of sequential programs, and works particularly well on hierarchically structured programs where the threads are structured hierarchically.

Thread modularity at many levels: a pearl in compositional verification

- Computer SciencePOPL
- 2017

A hierarchy of proof systems where each level k corresponds to a generalized notion of thread modularity (level 1 corresponds to the original notion) is described, which precisely captures programs that can be proved using uniform Ashcroft invariants with k universal quantifiers.

Reachability in Binary Multithreaded Programs Is Polynomial

- Computer Science2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS)
- 2017

For the subclass of so-called binary multithreaded programs, new bounds are proved: all these quantities are majorized by a polynomial and, in certain cases, by a linear, logarithmic, or even constant function.

On the Strength of Owicki-Gries for Resources

- Computer ScienceAPLAS
- 2011

It is proved the absence of a general exact closure-based fixpoint characterization of the accuracy of the Owicki-Gries method, both in the collecting semantics and in certain trace semantics.

Reachability in Multithreaded Programs Is Polynomial in the Number of Threads

- Computer Science2019 20th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT)
- 2019

Borders shed more light on how the widely expressed claim, that one of the major obstacles to analyzing concurrent programs is the exponential state explosion in the number of threads, should (and should not) be understood.

Reachability in parallel programs is polynomial in the number of threads

- Computer ScienceJ. Parallel Distributed Comput.
- 2022

## References

SHOWING 1-10 OF 37 REFERENCES

Verifying safety properties of concurrent Java programs using 3-valued logic

- Computer SciencePOPL '01
- 2001

We provide a parametric framework for verifying safety properties of concurrent Java programs. The framework combines thread-scheduling information with information about the shape of the heap. This…

Precise Thread-Modular Verification

- Computer ScienceSAS
- 2007

A new abstraction algorithm for threadmodular verification that offers both high degree precision and polynomial complexity is proposed, based on a new abstraction domain that combines Cartesian abstraction with exception sets, which allow one to handle particular thread interactions precisely.

Race checking by context inference

- Computer SciencePLDI '04
- 2004

This work uses richer context models to infer suitable context models automatically by a combination of counterexample-guided abstraction refinement, bisimulation minimization, circular assume-guarantee reasoning, and parametric reasoning about an unbounded number of threads.

Types as models: model checking message-passing programs

- Computer SciencePOPL '02
- 2002

The system includes two novel components to achieve this end: a behavioral type-and-effect system for the π-calculus, which extracts sound models as types, and an assume-guarantee proof rule for carrying out compositional model checking on the types.

Bounded Model Checking of Concurrent Programs

- Computer ScienceCAV
- 2005

This work proposes a SAT-based bounded verification technique, called TCBMC, for threaded C programs, based on CBMC, and obtains an efficient modeling that can be sent to a SAT solver for property checking.

Principles of model checking

- Computer Science
- 2008

Principles of Model Checking offers a comprehensive introduction to model checking that is not only a text suitable for classroom use but also a valuable reference for researchers and practitioners in the field.

Thread-modular shape analysis

- Computer SciencePLDI '07
- 2007

This work presents the first shape analysis for multithreaded programs that avoids the explicit enumeration of execution-interleavings and shows that resource invariants of a certain class can be characterized as least fixed points and computed via repeated applications of shape analysis only on each individual thread.

ACSAR: Software Model Checking with Transfinite Refinement

- Computer ScienceSPIN
- 2007

The idea behind ACSAR is to abstract not just states but also the state changes induced by structured program statements, including for- and while-statements, which allows one to shortcut such a “transfinite” sequence of refinement steps.

Dataflow analysis for concurrent programs using datarace detection

- Computer SciencePLDI '08
- 2008

RADAR is presented, a framework that automatically converts a dataflow analysis for sequential programs into one that is correct for concurrent programs and gives analysis designers an easy way to tune the scalability and precision of the overall analysis by only modifying the race detection engine.