Why do builds fail?-A conceptual replication study

被引:9
|
作者
Barrak, Amine [1 ]
Eghan, Ellis E. [2 ]
Adams, Bram [4 ]
Khomh, Foutse [3 ]
机构
[1] Polytech Montreal, Software Engn, Montreal, PQ, Canada
[2] Polytech Montreal, MCIS Lab, Montreal, PQ, Canada
[3] Polytech Montreal, Montreal, PQ, Canada
[4] Queens Univ, Sch Comp, Kingston, ON, Canada
关键词
Continuous integration; Build failure; Test smells; Code smells; Quantitative analysis; Cross-project prediction; CODE; SMELLS; CLASSIFICATION; TESTS; CI;
D O I
10.1016/j.jss.2021.110939
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Previous studies have investigated a wide range of factors potentially explaining software build breakages, focusing primarily on build-triggering code changes or previous CI outcomes. However, code quality factors such as the presence of code/test smells have not been yet evaluated in the context of CI, even though such factors have been linked to problems of comprehension and technical debt, and hence might introduce bugs and build breakages. This paper performs a conceptual replication study on 27,675 Travis CI builds of 15 GitHub projects, considering the features reported by Rausch et al. and Zolfagharinia et al., as well as those related to code/test smells. Using a multivariate model constructed from nine dimensions of features, results indicate a precision (recall) ranging between 58.3% and 79.0% (52.4% and 69.6%) in balanced project datasets, and between 2.5% and 37.5% (2.5% and 12.4%) in imbalanced project datasets. Models trained on our balanced project datasets were later used to perform cross-project prediction on the imbalanced projects, achieving an average improvement of 9.3% (16.2%) in precision (recall). Statistically, the results confirm that features from the build history, author, code complexity, and code/test smell dimensions are the most important predictors of build failures. (C) 2021 Elsevier Inc. All rights reserved.
引用
收藏
页数:15
相关论文
共 50 条
  • [1] Why do Automated Builds Break? An Empirical Study
    Kerzazi, Noureddine
    Khomh, Foutse
    Adams, Bram
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 41 - 50
  • [2] Why do batteries fail?
    Palacin, M. R.
    de Guibert, A.
    SCIENCE, 2016, 351 (6273)
  • [3] Why do coolants fail?
    Urdanoff, H
    MANUFACTURING ENGINEERING, 2003, 130 (05): : 121 - +
  • [4] WHY DO IMPLANTS FAIL
    GALIN, MA
    TUBERVILLE, AW
    OBSTBAUM, SA
    GOLDSTEIN, IM
    TRANSACTIONS OF THE OPHTHALMOLOGICAL SOCIETIES OF THE UNITED KINGDOM, 1981, 101 (APR): : 84 - 86
  • [5] WHY DO WAREHOUSES FAIL
    JORDAN, A
    DATAMATION, 1995, 41 (22): : 10 - 10
  • [6] WHY DO STUDENTS FAIL
    EVERETT, DH
    NATURE, 1968, 220 (5169) : 836 - &
  • [7] WHY DO BRIDGES FAIL
    SMITH, DW
    CIVIL ENGINEERING, 1977, 47 (11): : 58 - 62
  • [8] WHY DO STUDENTS FAIL
    OWENS, T
    NATURE, 1968, 220 (5166) : 517 - &
  • [9] WHY DO STARTUPS FAIL?
    Bethlendi, Andras
    Hegedus, Szilard
    Szocs, Arpad
    27TH BIENNIAL INTERNATIONAL CONGRESS TOURISM AND HOSPITALITY INDUSTRY, THI 2024, 2024, : 1 - 10
  • [10] Why do stabilizations fail?
    Veiga, Francisco Jose
    JOURNAL OF ECONOMIC POLICY REFORM, 2008, 11 (02) : 135 - 149