DocumentCode
3061005
Title
A Stateful Approach to Testing Monitors in Multithreaded Programs
Author
Carver, Richard H. ; Lei, Jeff
Author_Institution
Dept. of Comput. Sci., George Mason Univ., Fairfax, VA, USA
fYear
2010
fDate
3-4 Nov. 2010
Firstpage
54
Lastpage
63
Abstract
A monitor is a commonly used synchronization construct in multithreaded programs. Ensuring the correctness of each monitor in a multithreaded program is a critical step towards ensuring the correctness of the entire program. A monitor´s correctness can be checked by executing two or more test threads that call the monitor´s methods. Reach ability testing can be used to automatically exercise every possible sequence in which the test threads can enter the monitor. Reach ability testing is a stateless testing technique, which allows it to avoid the high storage cost associated with saving states in memory. However, stateless reach ability testing allows large portions of a program´s state space to be visited multiple times, since it is not possible to recognize states that have been visited before. This inefficiency can create a “sequence explosion” problem that causes reach ability testing to take too much time. In this paper, we show how to store and recognize visited states when reach ability testing is applied to a single monitor and its test threads. We also show how to use state pruning to avoid storing all of the visited states at once. The results of an empirical study show that adding states to reach ability testing significantly reduces execution time without significantly increasing storage costs.
Keywords
multi-threading; program testing; reachability analysis; multithreaded program; reachability testing; sequence explosion problem; state pruning; stateful approach; stateless reachability testing; testing monitor; Computational modeling; Explosions; Instruction sets; Monitoring; Space exploration; Synchronization; Testing; concurrent programming; monitor; reachability testing;
fLanguage
English
Publisher
ieee
Conference_Titel
High-Assurance Systems Engineering (HASE), 2010 IEEE 12th International Symposium on
Conference_Location
San Jose, CA
ISSN
1530-2059
Print_ISBN
978-1-4244-9091-2
Electronic_ISBN
1530-2059
Type
conf
DOI
10.1109/HASE.2010.14
Filename
5634311
Link To Document