How Different is Test Case Prioritization for Open and Closed Source Projects?

被引:5
|
作者
Ling, Xiao [1 ]
Agrawal, Rishabh [1 ]
Menzies, Tim [1 ]
机构
[1] North Carolina State Univ, Dept Comp Sci, Raleigh, NC 27695 USA
基金
美国国家科学基金会;
关键词
Testing; Software; Open source software; Software development management; Measurement; Software algorithms; History; Software testing; regression testing; test case prioritization; open-source software;
D O I
10.1109/TSE.2021.3063220
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Improved test case prioritization means that software developers can detect and fix more software faults sooner than usual. But is there one "best" prioritization algorithm? Or do different kinds of projects deserve special kinds of prioritization? To answer these questions, this article applies nine prioritization schemes to 31 projects that range from (a) highly rated open-source Github projects to (b) computational science software to (c) a closed-source project. We find that prioritization approaches that work best for open-source projects can work worst for the closed-source project (and vice versa). From these experiments, we conclude that (a) it is ill-advised to always apply one prioritization scheme to all projects since (b) prioritization requires tuning to different project types.
引用
收藏
页码:2526 / 2540
页数:15
相关论文
共 50 条
  • [31] Path-directed source test case generation and prioritization in metamorphic testing
    Sun, Chang-ai
    Liu, Baoli
    Fu, An
    Liu, Yiqiang
    Liu, Huai
    [J]. Journal of Systems and Software, 2022, 183
  • [32] Closed caption, open source
    Blankinship, E
    Smith, B
    Holtzman, H
    Bender, W
    [J]. BT TECHNOLOGY JOURNAL, 2004, 22 (04) : 151 - 159
  • [33] How Are Discussions Associated with Bug Reworking? An Empirical Study on Open Source Projects
    Zhao, Yu
    Zhang, Feng
    Shihab, Emad
    Zou, Ying
    Hassan, Ahmed E.
    [J]. ESEM'16: PROCEEDINGS OF THE 10TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, 2016,
  • [34] How to Explain a Patch: An Empirical Study of Patch Explanations in Open Source Projects
    Liang, Jingjing
    Hou, Yaozong
    Zhou, Shurui
    Chen, Junjie
    Xiong, Yingfei
    Huang, Gang
    [J]. 2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2019, : 58 - 69
  • [35] How are Solidity smart contracts tested in open source projects? An exploratory study
    Palechor, Luisa
    Bezemer, Cor-Paul
    [J]. 3RD ACM/IEEE INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST (AST 2022), 2022, : 165 - 169
  • [36] How is Logging Practice Implemented in Open Source Software Projects? A Preliminary Exploration
    Rong, Guoping
    Gu, Shenghui
    Zhang, He
    Shao, Dong
    Liu, Wanggen
    [J]. 2018 25TH AUSTRALASIAN SOFTWARE ENGINEERING CONFERENCE (ASWEC), 2018, : 171 - 180
  • [37] Studying donations and their expenses in open source projects: a case study of GitHub projects collecting donations through open collectives
    Jiayuan Zhou
    Shaowei Wang
    Yasutaka Kamei
    Ahmed E. Hassan
    Naoyasu Ubayashi
    [J]. Empirical Software Engineering, 2022, 27
  • [38] Investigating and Projecting Population Structures in Open Source Software Projects: A Case Study of Projects in GitHub
    Onoue, Saya
    Hata, Hideaki
    Monden, Akito
    Matsumoto, Kenichi
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2016, E99D (05): : 1304 - 1315
  • [39] Studying donations and their expenses in open source projects: a case study of GitHub projects collecting donations through open collectives
    Zhou, Jiayuan
    Wang, Shaowei
    Kamei, Yasutaka
    Hassan, Ahmed E.
    Ubayashi, Naoyasu
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (01)
  • [40] Test Prioritization at Different Modeling Levels
    Belli, Fevzi
    Goekce, Nida
    [J]. ADVANCES IN SOFTWARE ENGINEERING, 2010, 117 : 130 - 140