StealthTest: Low Overhead Online Software Testing using Transactional Memory

被引:5
|
作者
Bobba, Jayaram [1 ]
Xiong, Weiwei [2 ]
Yen, Luke [1 ,3 ]
Hill, Mark D. [1 ]
Wood, David A. [1 ]
机构
[1] Univ Wisconsin, Madison, WI 53706 USA
[2] Univ Illinois, Urbana, IL USA
[3] Adv Micro Devices Inc, Hyderabad, Andhra Pradesh, India
来源
18TH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS | 2009年
基金
美国国家科学基金会;
关键词
Testing; Transactional Memory; Online Testing; Delta Execution;
D O I
10.1109/PACT.2009.15
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 pei.ft)nnance. We propose SteakhTest, aii interftice that exposes TM transactions as the key mechanisin 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 - StealthIV 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 Stealth Test-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.
引用
收藏
页码:146 / +
页数:2
相关论文
共 50 条
  • [1] Low-Overhead Software Transactional Memory with Progress Guarantees and Strong Semantics
    Zhang, Minjia
    Huang, Jipeng
    Cao, Man
    Bond, Michael D.
    ACM SIGPLAN NOTICES, 2015, 50 (08) : 97 - 108
  • [2] Developing Libraries Using Software Transactional Memory
    Dias, Ricardo
    Lourenco, Joao
    Cunha, Goncalo
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2008, 5 (02) : 103 - 117
  • [3] Software transactional memory
    Shavit, N
    Touitou, D
    DISTRIBUTED COMPUTING, 1997, 10 (02) : 99 - 116
  • [4] Software transactional memory
    Nir Shavit
    Dan Touitou
    Distributed Computing, 1997, 10 : 99 - 116
  • [5] A low-overhead profiling and visualization framework for Hybrid Transactional Memory
    Arcas, Oriol
    Kirchhofer, Philipp
    Soenmez, Nehir
    Schindewolf, Martin
    Unsal, Osman S.
    Karl, Wolfgang
    Cristal, Adrian
    2012 IEEE 20TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2012, : 1 - 8
  • [6] Software transactional memory
    Tel-Aviv Univ, Tel-Aviv, Israel
    Distrib Comput, 2 (99-116):
  • [7] Low overhead online periodic testing for GPGPUs
    Abdel-Majeed, Mohammad
    Dweik, Waleed
    INTEGRATION-THE VLSI JOURNAL, 2018, 62 : 362 - 370
  • [8] Online Sharing-Aware Thread Mapping in Software Transactional Memory
    Pasqualin, Douglas Pereira
    Diener, Matthias
    Du Bois, Andre Rauber
    Pilla, Mauricio Lima
    2020 IEEE 32ND INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD 2020), 2020, : 35 - 42
  • [9] Implementing Software Transactional Memory Using STM Haskell
    Ghosh, Ammlan
    Chaki, Rituparna
    ADVANCED COMPUTING AND SYSTEMS FOR SECURITY, VOL 2, 2016, 396 : 235 - 248
  • [10] Preemptive Software Transactional Memory
    Silvestri, Emiliano
    Economo, Simone
    Di Sanzo, Pierangelo
    Pellegrini, Alessandro
    Quaglia, Francesco
    2017 17TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), 2017, : 294 - 303