• 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