How Do Assertions Impact Coverage-based Test-Suite Reduction?

被引:26
作者
Chen, Junjie [1 ,2 ]
Bai, Yanwei [1 ,2 ]
Hao, Dan [1 ,2 ]
Zhang, Lingming [3 ]
Zhang, Lu [1 ,2 ]
Xie, Bing [1 ,2 ]
机构
[1] Peking Univ, Key Lab High Confidence Software Technol, MoE, Beijing, Peoples R China
[2] Peking Univ, Inst Software, EECS, Beijing 100871, Peoples R China
[3] Univ Texas Dallas, Dept Comp Sci, Dallas, TX 75080 USA
来源
2017 10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST) | 2017年
基金
中国国家自然科学基金;
关键词
PRIORITIZATION; TOOL;
D O I
10.1109/ICST.2017.45
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code coverage is the dominant criterion in test suite reduction. Typically, most test-suite reduction techniques repeatedly remove tests covering code that has been covered by other tests from the test suite. However, test-suite reduction based on code coverage alone may incur fault-detection capability loss, because a test detects faults if and only if its execution covers buggy code and its test oracle catches the buggy state. In other words, test oracles may also affect test-suite reduction; However, to our knowledge, their impacts have never been studied before. In this paper, we conduct the first empirical study on such impacts by using 10 real-world GitHub Java projects, and find that assertions (i.e., a typical type of test oracles) are significantly correlated with coverage-based test-suite reduction. Based on our preliminary study results, we also proposed an assertion-aware test-suite reduction technique which outperforms traditional test suite reduction in terms of cost-effectiveness.
引用
收藏
页码:418 / 423
页数:6
相关论文
共 38 条
  • [1] Is mutation an appropriate tool for testing experiments?
    Andrews, JH
    Briand, LC
    Labiche, Y
    [J]. ICSE 05: 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2005, : 402 - 411
  • [2] Bi-criteria models for all-uses test suite reduction
    Black, J
    Melachrinoudis, E
    Kaeli, D
    [J]. ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, : 106 - 115
  • [3] Blue D, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P182, DOI 10.1109/ICSE.2013.6606564
  • [4] Assert Use in GitHub Projects
    Casalnuovo, Casey
    Devanbu, Prem
    Oliveira, Abilio
    Filkov, Vladimir
    Ray, Baishakhi
    [J]. 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, : 755 - 766
  • [5] Chen J., 2017, ICSE
  • [6] An Empirical Comparison of Compiler Testing Techniques
    Chen, Junjie
    Hu, Wenxiang
    Hao, Dan
    Xiong, Yingfei
    Zhang, Hongyu
    Zhang, Lu
    Xie, Bing
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 180 - 190
  • [7] Supporting Oracle Construction via Static Analysis
    Chen, Junjie
    Bai, Yanwei
    Hao, Dan
    Zhang, Lingming
    Zhang, Lu
    Xie, Bing
    Mei, Hong
    [J]. 2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, : 178 - 189
  • [8] Test Case Prioritization for Compilers: A Text-Vector Based Approach
    Chen, Junjie
    Bai, Yanwei
    Hao, Dan
    Xiong, Yingfei
    Zhang, Hongyu
    Zhang, Lu
    Xie, Bing
    [J]. 2016 9TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2016, : 266 - 277
  • [9] Chen T. Y., 1995, Software Quality Management III, P415
  • [10] A new heuristic for test suite reduction
    Chen, TY
    Lau, MF
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 1998, 40 (5-6) : 347 - 354