Minimizing Test Suites with Unfoldings of Multithreaded Programs
Olli Saarikivi, Hernán Ponce-de-León, Kari Kähkönen, Keijo Heljanko, Javier Esparza · ACM Transactions on Embedded Computing Systems · 2017
This article focuses on computing minimal test suites for multithreaded programs. Based on previous work on test case generation for multithreaded programs using unfoldings, this article shows how this unfolding can be used to generate minimal test suites covering all local states of the program. Generating such minimal test suites is shown to be NP-complete in the size of the unfolding. We propose an SMT encoding for this problem and two methods based on heuristics which only approximate the solution, but scale better in practice. Finally, we apply our methods to compute the minimal test suites for several benchmarks.