Exploring the interleaving space of a multithreaded program to efficiently detect concurrency bugs is important but also difficult because of the astronomically many thread schedules.This paper presents a novel framew...Exploring the interleaving space of a multithreaded program to efficiently detect concurrency bugs is important but also difficult because of the astronomically many thread schedules.This paper presents a novel framework to decompose a thread schedule generator that explores the interleaving space into the composition of a basic generator and its extension under the“small interleaving hypothesis”.Under this framework,we in-depth analyzed research work on interleaving space exploration,illustrated how to design an effective schedule generator,and shed light on future research opportunities.展开更多
基金This work was supported in part by National Key R&D Program(2017YFB1001801)of Chinathe National Natural Science Foundation of China(Grant Nos.61932021,61690204,61802165).
文摘Exploring the interleaving space of a multithreaded program to efficiently detect concurrency bugs is important but also difficult because of the astronomically many thread schedules.This paper presents a novel framework to decompose a thread schedule generator that explores the interleaving space into the composition of a basic generator and its extension under the“small interleaving hypothesis”.Under this framework,we in-depth analyzed research work on interleaving space exploration,illustrated how to design an effective schedule generator,and shed light on future research opportunities.