DocumentCode :
3457710
Title :
StealthTest: Low Overhead Online Software Testing Using Transactional Memory
Author :
Bobba, Jayaram ; Xiong, Weiwei ; Yen, Luke ; Hill, Mark D. ; Wood, David A.
Author_Institution :
Univ. of Wisconsin-Madison, Madison, WI, USA
fYear :
2009
fDate :
12-16 Sept. 2009
Firstpage :
146
Lastpage :
155
Abstract :
Software testing is hard. The emergence of multicore architectures and the proliferation of bug-prone multithreaded software makes testing even harder. To this end, researchers have proposed methods to continue testing software after deployment, e.g., in vivo (IV) testing and delta execution (DE) patch testing. These on-line techniques typically fork new processes to hide the functional impact of testing. Unfortunately, the high overhead of fork() significantly degrades performance. To reduce the performance overhead of online testing, we adapt transactional memory (TM) to isolate the functional effects of tests with minimal impact on system performance. We propose StealthTest, an interface that exposes TM transactions as the key mechanism for executing tests. It allows online tests to work on a consistent view of memory without the overhead of creating new processes. Moreover, explicitly aborting the test transaction after it is done guarantees that its changes are invisible to the rest of the system. Thus, StealthTest promises transparent online testing. We demonstrate two test frameworks utilizing StealthTest - StealthlV and StealthDE - that improve on previously proposed fork-based in vivo testing and delta execution frameworks respectively. Implementing StealthTest on top of three software TM (STM) systems - TL2 STM, Intel STM and a pin-based STM- we demonstrate that StealthTest-based frameworks can (a) run a wide range of online tests and (b) execute many more tests with low overhead. StealthTest provides another motivation for efficient TM implementations by extending TM´s applicability to a critical software engineering challenge.
Keywords :
program testing; transaction processing; StealthDE; StealthTest; StealthlV; delta execution patch testing; in vivo testing; online software testing; transactional memory; Computer architecture; Computer bugs; Costs; In vivo; Multicore processing; Programming; Software engineering; Software systems; Software testing; System testing; Delta Execution; Online Testing; Testing; Transactional Memory;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Architectures and Compilation Techniques, 2009. PACT '09. 18th International Conference on
Conference_Location :
Raleigh, NC
ISSN :
1089-795X
Print_ISBN :
978-0-7695-3771-9
Type :
conf
DOI :
10.1109/PACT.2009.15
Filename :
5260558
Link To Document :
بازگشت