kirancodes.me
To Proof Maintenance & Beyond!

Testing multithreaded programs via thread speed control

Dongjie Chen, Yanyan Jiang, Chang Xu, Xiaoxing Ma, Jian Lu

Abstract

A multithreaded program's interleaving space is discrete and astronomically large, making effectively sampling thread schedules for manifesting concurrency bugs a challenging task. Observing that concurrency bugs can be manifested by adjusting thread relative speeds, this paper presents the new concept of speed space in which each vector denotes a family of thread schedules. A multithreaded program's speed space is approximately continuous, easy-to-sample, and preserves certain categories of concurrency bugs. We discuss the design, implementation, and evaluation of our speed-controlled scheduler for exploring adversarial/abnormal schedules. The experimental results confirm that our technique is effective in sampling diverse schedules. Our implementation also found previously unknown concurrency bugs in real-world multithreaded programs.

BibTeX
@inproceedings{Chen-al:FSE18,
  author    = {Dongjie Chen and
               Yanyan Jiang and
               Chang Xu and
               Xiaoxing Ma and
               Jian Lu},
  title     = {Testing multithreaded programs via thread speed control},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {15--25},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers