Computer and Modernization

Previous Articles     Next Articles

Multithreaded Program Testing Based on Controlling Sequence of Thread Schedule

  

  1. (Changsha Environmental Protection College, Changsha 410001, China)
  • Received:2016-10-31 Online:2017-06-23 Published:2017-06-23

Abstract: As multi-core techniques become pervasive, programming multithreaded programs is becoming popular. However, the problem of correctness of multithreaded program has affected software reliability severely. Moreover, current testing techniques can not satisfy the requirements of multithreaded programs. This paper focuses on the most common type of bugs in multithread programs, which is called data race. We propose a testing approach based on controlling sequence of thread schedule, combining static approach with dynamic approach. The approach can effectively find the data races in multithreaded programs, and identify the harmful data races that are required to be fixed urgently. Experimental results show that our approach improves the probability of triggering data races significantly, from 0.53% to 79.2% averagely. Moreover, the runtime overhead imposed by our approach is on average 80%, and the overhead imposed by related approach is 370%, demonstrating our approach is better.

Key words: multithreaded program, testing, software reliability, thread schedule, data race

CLC Number: