DocumentCode
1900691
Title
Using unfoldings in automated testing of multithreaded programs
Author
Kahkonen, K. ; Saarikivi, O. ; Heljanko, Keijo
Author_Institution
Dept. of Inf. & Comput. Sci., Aalto Univ., Aalto, Finland
fYear
2012
fDate
3-7 Sept. 2012
Firstpage
150
Lastpage
159
Abstract
In multithreaded programs both environment input data and the nondeterministic interleavings of concurrent events can affect the behavior of the program. One approach to systematically explore the nondeterminism caused by input data is dynamic symbolic execution. For testing multithreaded programs we present a new approach that combines dynamic symbolic execution with unfoldings, a method originally developed for Petri nets but also applied to many other models of concurrency. We provide an experimental comparison of our new approach with existing algorithms combining dynamic symbolic execution and partial-order reductions and show that the new algorithm can explore the reachable control states of each thread with a significantly smaller number of test runs. In some cases the reduction to the number of test runs can be even exponential allowing programs with long test executions or hard-to-solve constrains generated by symbolic execution to be tested more efficiently.
Keywords
concurrency control; multi-threading; program testing; Petri nets; automated testing; concurrency model; dynamic symbolic execution; multithreaded program; nondeterministic interleaving; partial-order reduction; program behavior; test execution; unfoldings method; Dynamic symbolic execution; unfoldings;
fLanguage
English
Publisher
ieee
Conference_Titel
Automated Software Engineering (ASE), 2012 Proceedings of the 27th IEEE/ACM International Conference on
Conference_Location
Essen
Print_ISBN
978-1-4503-1204-2
Type
conf
DOI
10.1145/2351676.2351698
Filename
6494915
Link To Document