BEST: A symbolic testing tool for predicting multi-threaded program failures

Malay K. Ganai, Nipun Arora, Chao Wang, Aarti Gupta, Gogul Balakrishnan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Scopus citations

Abstract

We present a tool BEST (Binary instrumentation-based Error-directed Symbolic Testing) for predicting concurrency violations. We automatically infer potential concurrency violations such as atomicity violations from an observed run of a multi-threaded program, and use precise modeling and constraint-based symbolic (non-enumerative) search to find feasible violating schedules in a generalization of the observed run. We specifically focus on tool scalability by devising POR-based simplification steps to reduce the formula and the search space by several orders-of-magnitude. We have successfully applied the tool to several publicly available C/C++/Java programs and found several previously known/unknown concurrency related bugs. The tool also has extensive visual support for debugging.

Original languageEnglish (US)
Title of host publication2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings
Pages596-599
Number of pages4
DOIs
StatePublished - Dec 1 2011
Externally publishedYes
Event2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011 - Lawrence, KS, United States
Duration: Nov 6 2011Nov 10 2011

Publication series

Name2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings

Other

Other2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011
CountryUnited States
CityLawrence, KS
Period11/6/1111/10/11

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint Dive into the research topics of 'BEST: A symbolic testing tool for predicting multi-threaded program failures'. Together they form a unique fingerprint.

  • Cite this

    Ganai, M. K., Arora, N., Wang, C., Gupta, A., & Balakrishnan, G. (2011). BEST: A symbolic testing tool for predicting multi-threaded program failures. In 2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings (pp. 596-599). [6100134] (2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings). https://doi.org/10.1109/ASE.2011.6100134