Litcius/Paper detail

Sound sequentialization for concurrent program verification

Azadeh Farzan, Dominik Klumpp, Andreas Podelski

202223 citationsDOI

Abstract

We present a systematic investigation and experimental evaluation of a large space of algorithms for the verification of concurrent programs. The algorithms are based on sequentialization. In the analysis of concurrent programs, the general idea of sequentialization is to select a subset of interleavings, represent this subset as a sequential program, and apply a generic analysis for sequential programs. For the purpose of verification, the sequentialization has to be sound (meaning that the proof for the sequential program entails the correctness of the concurrent program). We use the concept of a preference order to define which interleavings the sequentialization is to select ("the most preferred ones"). A verification algorithm based on sound sequentialization that is parametrized in a preference order allows us to directly evaluate the impact of the selection of the subset of interleavings on the performance of the algorithm. Our experiments indicate the practical potential of sound sequentialization for concurrent program verification.

Topics & Concepts

Computer scienceCorrectnessProgram analysisProgramming languageConcurrencySelection (genetic algorithm)Theoretical computer scienceAlgorithmArtificial intelligenceFormal Methods in VerificationDistributed systems and fault toleranceLogic, programming, and type systems
Sound sequentialization for concurrent program verification | Litcius