π€ AI Summary
This work addresses the challenge of modular verification for concurrent programs by introducing a novel abstract domain called the conditional-writes domain, which automatically generates concise and effective rely-guarantee conditions. The approach requires only the specification of the conditions under which each thread writes to shared variables, from which it derives interference information suitable for modular reasoning. Grounded in abstract interpretation theory, the authors formally define two implementation strategies and construct a highly modular analysis framework that readily extends to other rely-guarantee structures. Experimental evaluation on benchmark programs demonstrates the methodβs effectiveness and highlights its potential for producing precise, composable verification conditions.
π Abstract
Abstract interpretation has been shown to be a promising technique for the thread-modular verification of concurrent programs. Central to this is the generation of interferences, in the form of rely-guarantee conditions, conforming to a user-chosen structure. In this work, we introduce one such structure called the conditional-writes domain, designed for programs where it suffices to establish only the conditions under which particular variables are written to by each thread. We formalise our analysis within a novel abstract interpretation framework that is highly modular and can be easily extended to capture other structures for rely-guarantee conditions. We formalise two versions of our approach and evaluate their implementations on a simple programming language.