swMATH ID: 23067
Software Authors: Francesco Sorrentino, Azadeh Farzan, P. Madhusudan
Description: PENELOPE: weaving threads to expose atomicity violations. Testing concurrent programs is challenged by the interleaving explosion problem— the problem of exploring the large number of interleavings a program exhibits, even under a single test input. Rather than try all interleavings, we propose to test wisely: to exercise only those schedules that lead to interleavings that are typical error patterns. In particular, in this paper we select schedules that exercise patterns of interaction that correspond to atomicity violations. Given an execution of a program under a test harness, our technique is to algorithmically mine from the execution a small set of alternate schedules that cause atomicity violations. The program is then re-executed under these predicted atomicity-violating schedules, and verified by the test harness. The salient feature of our tool is the efficient algorithmic prediction and synthesis of alternate schedules that cover all possible atomicity violations at program locations. We implement the tool PENELOPE that realizes this testing framework and show that the monitoring, prediction, and rescheduling (with precise repro) are efficient and effective in finding bugs related to atomicity violations.
Homepage: https://dl.acm.org/citation.cfm?id=1882300
Related Software: CTrigger; jPredictor; ASM; QuickLex
Cited in: 1 Publication

Cited in 0 Serials

Citations by Year