2010 10th International Conference on Application of Concurrency to System Design (2012)
June 27, 2012 to June 29, 2012
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ACSD.2012.18
Testing multi-threaded programs is hard due to the state explosion problem arising from the different interleavings of concurrent operations. The dynamic partial order reduction (DPOR) algorithm by Flanagan and Godefroid is one solution to reducing this problem. We present a modification to this algorithm that allows it to exploit the commutativity of read operations and provide further reduction. To enable testing of multi-threaded programs that also take input we show that it is possible to combine DPOR with concolic testing. We have implemented our modified DPOR algorithm in the LCT concolic testing tool. We have also implemented the sleep set algorithm, which can be used along with DPOR to provide further reduction. As the LCT tool was designed for distributed use we have modified the sleep set algorithm for use in a distributed testing client-server setting.
Clocks, Vectors, Heuristic algorithms, Testing, Indexes, Schedules, Algorithm design and analysis, concolic testing, verification, partial order reduction
Kari Kahkonen, Olli Saarikivi, Keijo Heljanko, "Improving Dynamic Partial Order Reductions for Concolic Testing", 2010 10th International Conference on Application of Concurrency to System Design, vol. 00, no. , pp. 132-141, 2012, doi:10.1109/ACSD.2012.18