StealthTest: Low Overhead Online Software Testing Using Transactional Memory

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) pa...

Full description

Saved in:
Bibliographic Details
Published in2009 18th International Conference on Parallel Architectures and Compilation Techniques pp. 146 - 155
Main Authors Bobba, J., Weiwei Xiong, Yen, L., Hill, M.D., Wood, D.A.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.09.2009
Subjects
Online AccessGet full text

Cover

Loading…
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.
AbstractList 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.
Author Wood, D.A.
Bobba, J.
Weiwei Xiong
Hill, M.D.
Yen, L.
Author_xml – sequence: 1
  givenname: J.
  surname: Bobba
  fullname: Bobba, J.
  organization: Univ. of Wisconsin-Madison, Madison, WI, USA
– sequence: 2
  surname: Weiwei Xiong
  fullname: Weiwei Xiong
  organization: Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
– sequence: 3
  givenname: L.
  surname: Yen
  fullname: Yen, L.
  organization: Univ. of Wisconsin-Madison, Madison, WI, USA
– sequence: 4
  givenname: M.D.
  surname: Hill
  fullname: Hill, M.D.
  organization: Univ. of Wisconsin-Madison, Madison, WI, USA
– sequence: 5
  givenname: D.A.
  surname: Wood
  fullname: Wood, D.A.
  organization: Univ. of Wisconsin-Madison, Madison, WI, USA
BookMark eNotTE1Lw0AUXLSCtfbmzcv-gcS333neSrAqRCo0BW9lm7zYSLqRJFj6703RgZk5zMcNm4Q2EGN3AmIhAB_eF2keSwCMhblgU2m1iBxqfcnm6BJwFo1yTuCETQUkOGbm45rN-_4LRii0AMmUZeuBfDPsc-qHR561R776oW5PvuSr0NSB-LqthqPviJ8rdfjkm_6seedD74uhboNv-Bsd2u50y64q3_Q0__cZ2yyf8vQlylbPr-kii2qh1RBhYooSAWjnpTWGtEGhrR9pLe4klE4Jh4U0JenCeFAV-kICWUFYjSs1Y_d_vzURbb-7-uC709ZIC8Yk6hexyVDz
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/PACT.2009.15
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library Online
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2641-7944
EndPage 155
ExternalDocumentID 5260558
Genre orig-research
GroupedDBID 29O
6IE
6IL
ACM
ALMA_UNASSIGNED_HOLDINGS
CBEJK
RIE
RIL
RNS
ID FETCH-LOGICAL-i143t-985cd900eba2655e459146a146669b20d73179c25de4c5a03f9ac20e61e9f0eb3
IEDL.DBID RIE
ISBN 9780769537719
0769537715
ISSN 1089-795X
IngestDate Wed Jun 26 19:19:39 EDT 2024
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i143t-985cd900eba2655e459146a146669b20d73179c25de4c5a03f9ac20e61e9f0eb3
OpenAccessLink http://www.cs.wisc.edu/multifacet/papers/pact09_stealthtest.pdf
PageCount 10
ParticipantIDs ieee_primary_5260558
PublicationCentury 2000
PublicationDate 2009-Sept.
PublicationDateYYYYMMDD 2009-09-01
PublicationDate_xml – month: 09
  year: 2009
  text: 2009-Sept.
PublicationDecade 2000
PublicationTitle 2009 18th International Conference on Parallel Architectures and Compilation Techniques
PublicationTitleAbbrev PACT
PublicationYear 2009
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0000396008
ssj0020352
Score 1.7857871
Snippet Software testing is hard. The emergence of multicore architectures and the proliferation of bug-prone multithreaded software makes testing even harder. To this...
SourceID ieee
SourceType Publisher
StartPage 146
SubjectTerms Computer architecture
Computer bugs
Costs
Delta Execution
In vivo
Multicore processing
Online Testing
Programming
Software engineering
Software systems
Software testing
System testing
Testing
Transactional Memory
Title StealthTest: Low Overhead Online Software Testing Using Transactional Memory
URI https://ieeexplore.ieee.org/document/5260558
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3Pa8IwFA7qaSe36dhvcthx1TZNWt9uQyYydBOm4E2a5snGRIdUZPvr99LUOsYOOxTa0JQ2pO99yfve9xi7kb72I2FTlE0gPSkRvQ6GwgsBDaHZmNbbNjl5-BT1J_JxqqYVdlvmwiBiTj7Dlj3NY_lmlW7sVllbWfCtOlVWjQFcrla5n-KHhMX9MoIgrM6nI9eDF4OauiU7qDCOA1Uo7-yuoWTEQ3t03x07GUtbKfdHxZXc4fTqbLh7VcczeW9tMt1Kv36pOP73Ww5Zc5_ax0el0zpiFVwes_qutgMvfvUGG1ii7yJ7HZPXuOOD1ZY_06Qny224UyflL2TAt8kaub2FnsVz9gEf7wuQJws-tETezyab9B7G3b5XVF7w3gg_ZR50VGrA91EnIlIKpQKyqAkdUQRa-CYm2AGpUAZlqhI_nIOVesQoQJhTr_CE1ZarJZ4yngiZ6DSNYmqXUgsINEgw1DMmsAXBGWvYwZl9OHGNWTEu5383X7ADF86xJK9LVsvWG7wiVJDp63w6fANfxq9B
link.rule.ids 310,311,783,787,792,793,799,27939,55088
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NT8JAEN0gHvSECsZv9-DRQj92W8abIRLUgiSWhBvptmM0EjCkhOivd7ZbijEePDRpN92m3Wxn3u68ecPYlbCV7bs6RTl1hCUEotVGz7U8wJTQbEDrbZ2c3B_4vZF4GMtxhV2XuTCImJPPsKlP81h-Ok-WequsJTX4lu0tti01rjDZWuWOiu0RGrfLGIKrlT4NvR6sAOTYLNpBekHgyEJ7Z30NJSceWsPbTmSELHWt3B81V3KX062x_vplDdPkvbnMVDP5-qXj-N-v2WONTXIfH5Zua59VcHbAauvqDrz42ess1FTfafYakd-44eF8xZ9o2pPtTrnRJ-XPZMJX8QK5voWexXP-AY82JcjjKe9rKu9ng426d1GnZxW1F6w3QlCZBW2ZpGDbqGLXlxKFBLKpMR2-D8q104CABySuTFEkMra9F9Bij-g7CC_Uyztk1dl8hkeMx66IVZL4AbULoVxwFAhIqWdAcAucY1bXgzP5MPIak2JcTv5uvmQ7vagfTsL7weMp2zXBHU35OmPVbLHEc8IImbrIp8Y3wu2yjg
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2009+18th+International+Conference+on+Parallel+Architectures+and+Compilation+Techniques&rft.atitle=StealthTest%3A+Low+Overhead+Online+Software+Testing+Using+Transactional+Memory&rft.au=Bobba%2C+J.&rft.au=Weiwei+Xiong&rft.au=Yen%2C+L.&rft.au=Hill%2C+M.D.&rft.date=2009-09-01&rft.pub=IEEE&rft.isbn=9780769537719&rft.issn=1089-795X&rft.eissn=2641-7944&rft.spage=146&rft.epage=155&rft_id=info:doi/10.1109%2FPACT.2009.15&rft.externalDocID=5260558
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1089-795X&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1089-795X&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1089-795X&client=summon