A Lightweight Program Dependence based Approach to Concurrent Mutation Analysis

被引:3
|
作者
Sun, Chang-ai [1 ]
Jia, Jingting [1 ]
Liu, Huai [2 ]
Zhang, Xiangyu [3 ]
机构
[1] Univ Sci & Technol Beijing, Sch Comp & Commun Engn, Beijing 100083, Peoples R China
[2] Victoria Univ, Coll Engn & Sci, Melbourne, Vic 8001, Australia
[3] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47907 USA
基金
中国国家自然科学基金; 北京市自然科学基金;
关键词
Mutation testing; Concurrent mechanism; Static analysis; Program composition;
D O I
10.1109/COMPSAC.2018.00023
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Mutation analysis is a classical software testing approach which attempts to imitate faults using a set of mutants. It has been advocated to be an appropriate technique for evaluating the quality of test suites as well as the effectiveness of a testing method. However, the applicability of mutation analysis, especially in many practical situations, has been hindered due to the high computation cost and the long execution time, which are mainly caused by the large number of mutants. Numerous studies, particularly those based on parallel computing, have been conducted to reduce the overhead of mutation analysis. In this paper, we aim to improve the efficiency of mutation analysis from a different perspective. We make use of lightweight program analysis techniques to identify a group of mutants that share the common execution traces before the mutation location, and then merge them into a synthesized program with the concurrent mechanism, on which mutation analysis can be efficiently executed without the duplicate execution of common traces. Our empirical study demonstrates that our approach can significantly decrease the computation overhead as well as shorten the execution time of mutation analysis, without jeopardizing its effectiveness. The in-depth analysis further shows that the effectiveness of our approach is positively correlated with the number of branches in the program under test. Our approach makes it possible to efficiently execute mutation analysis even without the need of advanced computer architectures.
引用
收藏
页码:116 / 125
页数:10
相关论文
共 50 条
  • [31] A logic-based approach to program flow analysis
    Mooly Sagiv
    Nissim Francez
    Michael Rodeh
    Reinhard Wilhelm
    Acta Informatica, 1998, 35 : 457 - 504
  • [33] An effective fault localization approach based on PageRank and mutation analysis
    Yan, Yue
    Jiang, Shujuan
    Zhang, Yanmei
    Zhang, Cheng
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 204
  • [34] Enforcing Safety and Progress Properties: An Approach to Concurrent Program Derivation
    Dongol, Brijesh
    Hayes, Ian J.
    ASWEC 2009: 20TH AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2009, : 3 - 12
  • [35] A PRACTICAL APPROACH TO THE ANALYSIS OF CONCURRENT SYSTEMS
    ABRIAL, JR
    LECTURE NOTES IN COMPUTER SCIENCE, 1985, 207 : 66 - 96
  • [36] Scalable and Approximate Program Dependence Analysis
    Lee, Seongmin
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2020), 2020, : 162 - 165
  • [37] A novel approach to measuring class cohesion based on dependence analysis
    Chen, ZQ
    Zhou, YM
    Xu, BW
    Zhao, JJ
    Yang, HJ
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, : 377 - 384
  • [38] The design of java database application mutation analyzer based on java program analysis
    Yinfei, Zhu
    International Journal of Advancements in Computing Technology, 2012, 4 (22) : 468 - 477
  • [39] Dependence-cache slicing: A program slicing method using lightweight dynamic information
    Takada, T
    Ohata, F
    Inoue, K
    10TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2002, : 169 - 177
  • [40] Batch-based agile program management approach for coordinating IT multi-project concurrent development
    Yang, Qing
    Bi, Yingxin
    Wang, Qinru
    Yao, Tao
    CONCURRENT ENGINEERING-RESEARCH AND APPLICATIONS, 2021, 29 (04): : 343 - 355