SimEvo: Testing Evolving Multi-Process Software Systems

被引:2
|
作者
Yu, Tingting [1 ]
机构
[1] Univ Kentucky, Dept Comp Sci, Lexington, KY 40506 USA
关键词
IMPACT ANALYSIS;
D O I
10.1109/ICSME.2017.29
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Regression testing is used to perform re-validation of evolving software. However, most existing techniques for regression testing focus exclusively on single-process applications, but to date, no work has considered regression testing for software involving multiple processes or event handlers (e.g., software signals) at the system-level. The unique characteristics of concurrency control mechanism employed at the system-level can affect the static and dynamic analysis techniques on which existing regression testing approaches rely. Therefore, applying these approaches can result in inadequately tested software during maintenance, and ultimately impair software quality. In this paper, we propose SimEvo, the first regression testing techniques for multi-process applications. SimEvo employs novel impact analysis techniques to identify system-level concurrent events that are affected by the changes. It then reuses existing test cases, as well as generating new test cases, focused on the set of impacted events, to effectively and efficiently explore the newly updated concurrent behaviors. Our empirical study on a set of real-world Linux applications shows that SimEvo is more cost-effective in achieving high inter-process coverage and revealing real world system-level concurrency faults than other approaches.
引用
收藏
页码:204 / 215
页数:12
相关论文
共 50 条
  • [1] Reverse engineering of software threads: A design recovery technique for large multi-process systems
    Wilde, N
    Casey, C
    Vandeville, J
    Trio, G
    Hotz, D
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1998, 43 (01) : 11 - 17
  • [2] Multi-Process Control Software for HUBO2 Plus Robot
    Grey, M. X.
    Dantam, Neil
    Lofaro, Daniel M.
    Bobick, Aaron
    Egerstedt, Magnus
    Oh, Paul
    Stilman, Mike
    [J]. 2013 IEEE INTERNATIONAL CONFERENCE ON TECHNOLOGIES FOR PRACTICAL ROBOT APPLICATIONS (TEPRA), 2013,
  • [3] Formal reasoning regarding error propagation in multi-process software architectures
    Saetre, Fredrik
    Winther, Rune
    [J]. SAFETY, RELIABILITY AND RISK ANALYSIS: THEORY, METHODS AND APPLICATIONS, VOLS 1-4, 2009, : 2635 - 2640
  • [4] Testing the multi-process action control model in a randomized controlled trial
    Kaushal, Navin
    Rhodes, Ryan E.
    [J]. JOURNAL OF SPORT & EXERCISE PSYCHOLOGY, 2016, 38 : S213 - S214
  • [5] A Scheduling Architecture for Enforcing Quality of Service in Multi-Process Systems
    Jagemar, Marcus
    Ermedahl, Andreas
    Eldh, Sigrid
    Behnam, Moris
    [J]. 2017 22ND IEEE INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), 2017,
  • [6] Robust and Efficient Communication for Real-Time Multi-Process Robot Software
    Dantam, Neil
    Stilman, Mike
    [J]. 2012 12TH IEEE-RAS INTERNATIONAL CONFERENCE ON HUMANOID ROBOTS (HUMANOIDS), 2012, : 316 - 322
  • [7] On a multi-process wear model
    Gupta, PK
    [J]. LUBRICATION ENGINEERING, 2001, 57 (04): : 19 - 24
  • [8] Testing evolving software
    Harrold, MJ
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1999, 47 (2-3) : 173 - 181
  • [9] Proof-guided underapproximation-widening for multi-process systems
    Grumberg, O
    Lerda, F
    Strichman, O
    Theobald, M
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (01) : 122 - 131
  • [10] Process capability analysis for a multi-process product
    Kuen-Suan Chen
    Chang-Hsien Hsu
    Chin-Chuan Wu
    [J]. The International Journal of Advanced Manufacturing Technology, 2006, 27 : 1235 - 1241