Bibliographic Details
| Title: |
Automatic Generation of Unit Tests for Correlated Variables in Parallel Programs. |
| Authors: |
Jannesari, Ali a.jannesari@grs-sim.de, Wolf, Felix f.wolf@grs-sim.de |
| Source: |
International Journal of Parallel Programming. Jun2016, Vol. 44 Issue 3, p644-662. 19p. |
| Subjects: |
Computer viruses, Simultaneous multithreading processors, Parallel programming, Parallel programs (Computer programs), Mathematical variables |
| Abstract: |
A notorious class of concurrency bugs are race condition related to correlated variables, which make up about 30 % of all non-deadlock concurrency bugs. A solution to prevent this problem is the automatic generation of parallel unit tests. This paper presents an approach to generate parallel unit tests for variable correlations in multithreaded code. We introduce a hybrid approach for identifying correlated variables. Furthermore, we estimate the number of potentially violated correlations for methods executed in parallel. In this way, we are capable of creating unit tests that are suited for race detectors considering correlated variables. We were able to identify more than 85 % of all race conditions on correlated variables in eight applications after applying our parallel unit tests. At the same time, we reduced the number of unnecessary generated unit tests. In comparison to a test generator unaware of variable correlations, redundant unit tests are reduced by up to 50 %, while maintaining the same precision and accuracy in terms of the number of detected races. [ABSTRACT FROM AUTHOR] |
|
Copyright of International Journal of Parallel Programming is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) |
| Database: |
Engineering Source |