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...
Saved in:
Published in | 2009 18th International Conference on Parallel Architectures and Compilation Techniques pp. 146 - 155 |
---|---|
Main Authors | , , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.09.2009
|
Subjects | |
Online Access | Get 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 |