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