{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,17]],"date-time":"2026-07-17T15:00:12Z","timestamp":1784300412984,"version":"3.55.0"},"reference-count":49,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2024,8,30]],"date-time":"2024-08-30T00:00:00Z","timestamp":1724976000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2024,8,30]],"date-time":"2024-08-30T00:00:00Z","timestamp":1724976000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"funder":[{"DOI":"10.13039\/501100000038","name":"NSERC","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2024,11]]},"DOI":"10.1007\/s10664-024-10477-1","type":"journal-article","created":{"date-parts":[[2024,8,30]],"date-time":"2024-08-30T13:02:27Z","timestamp":1725022947000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["On combining commit grouping and build skip prediction to reduce redundant continuous integration activity"],"prefix":"10.1007","volume":"29","author":[{"ORCID":"https:\/\/orcid.org\/0009-0003-5103-4219","authenticated-orcid":false,"given":"Divya M.","family":"Kamath","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Eduardo","family":"Fernandes","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bram","family":"Adams","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ahmed E.","family":"Hassan","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2024,8,30]]},"reference":[{"issue":"12","key":"10477_CR1","doi-asserted-by":"publisher","first-page":"2740","DOI":"10.1109\/TSE.2020.2967380","volume":"47","author":"R Abdalkareem","year":"2020","unstructured":"Abdalkareem R, Mujahid S, Shihab E (2020) A machine learning approach to improve the detection of CI skip commits. IEEE Transactions on Software Engineering (TSE) 47(12):2740\u20132754","journal-title":"IEEE Transactions on Software Engineering (TSE)"},{"key":"10477_CR2","doi-asserted-by":"publisher","unstructured":"Abdalkareem R, Mujahid S, Shihab E, Rilling J (2019) Which commits can be ci skipped? IEEE Transactions on Software Engineering PP. https:\/\/doi.org\/10.1109\/TSE.2019.2897300","DOI":"10.1109\/TSE.2019.2897300"},{"key":"10477_CR3","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2021.110939","volume":"177","author":"A Barrak","year":"2021","unstructured":"Barrak A, Eghan EE, Adams B, Khomh F (2021) Why do builds fail?-a conceptual replication study. Journal of Systems and Software 177:110939","journal-title":"Journal of Systems and Software"},{"issue":"6","key":"10477_CR4","doi-asserted-by":"publisher","first-page":"758","DOI":"10.1109\/32.6156","volume":"14","author":"V Basili","year":"1988","unstructured":"Basili V, Rombach H (1988) The TAME project: Towards improvement-oriented software environments. IEEE Transactions on Software Engineering (TSE) 14(6):758\u2013773","journal-title":"IEEE Transactions on Software Engineering (TSE)"},{"key":"10477_CR5","doi-asserted-by":"crossref","unstructured":"Bavand AH, Rigby PC (2021) Mining historical test failures to dynamically batch tests to save ci resources. In: 2021 IEEE international Conference on Software Maintenance and Evolution (ICSME), pp 217-226. IEEE","DOI":"10.1109\/ICSME52107.2021.00026"},{"key":"10477_CR6","unstructured":"Beheshtian M, Bavand A, Rigby P (2021) Software batch testing to save build test resources and to reduce feedback time. IEEE Transactions on Software Engineering (TSE) pp 1\u201318"},{"key":"10477_CR7","doi-asserted-by":"crossref","unstructured":"Beller M, Gousios G, Zaidman A (2017) Oops, my tests broke the build: an explorative analysis of Travis CI with GitHub. In: Proceedings of the 14th international conference on Mining Software Repositories (MSR), pp 356\u2013367","DOI":"10.1109\/MSR.2017.62"},{"key":"10477_CR8","doi-asserted-by":"crossref","unstructured":"Cataldo M, Herbsleb JD (2011) Factors leading to integration failures in global featureoriented development: an empirical analysis. In: Proceedings of the 33rd international conference on software engineering, pp 161\u2013170","DOI":"10.1145\/1985793.1985816"},{"key":"10477_CR9","doi-asserted-by":"crossref","unstructured":"Chen B, Chen L, Zhang C, Peng X (2020) Buildfast: history-aware build outcome prediction for fast feedback and reduced cost in continuous integration. In: 2020 35th IEEE\/ACM international conference on Automated Software Engineering (ASE), pp 42\u201353. IEEE","DOI":"10.1145\/3324884.3416616"},{"key":"10477_CR10","unstructured":"DevOps, A.: Skipping ci for individual pushes. URL https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/repos\/azure-repos-git?view=azure-devops&tabs=yaml#skipping-ci-for-individual-pushes"},{"key":"10477_CR11","unstructured":"DevOps, A.: Specify events that trigger pipelines. URL https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/pipelines\/build\/triggers?view=azure-devops"},{"key":"10477_CR12","unstructured":"Duvall PM, Matyas S, Glover A (2007) Continuous integration: improving software quality and reducing risk. Pearson Education"},{"key":"10477_CR13","doi-asserted-by":"crossref","unstructured":"Elbaum S, Rothermel G, Penix J (2014) Techniques for improving regression testing in continuous integration development environments. In: Proceedings of the 22nd international symposium on Foundations of Software Engineering (FSE), pp 235\u2013245","DOI":"10.1145\/2635868.2635910"},{"issue":"2","key":"10477_CR14","doi-asserted-by":"publisher","first-page":"183","DOI":"10.1016\/j.infsof.2013.09.001","volume":"56","author":"J Finlay","year":"2014","unstructured":"Finlay J, Pears R, Connor AM (2014) Data stream mining for predicting software build outcomes using source code metrics. Inf Softw Technol 56(2):183\u2013198","journal-title":"Inf Softw Technol"},{"key":"10477_CR15","unstructured":"Fowler M, Foemmel M (2006) Continuous integration"},{"key":"10477_CR16","doi-asserted-by":"crossref","unstructured":"Gallaba K, Macho C, Pinzger M, McIntosh S (2018) Noise and heterogeneity in historical build data: an empirical study of Travis CI. In: Proc. of the international conference on Automated Software Engineering (ASE), pp 87\u201397","DOI":"10.1145\/3238147.3238171"},{"issue":"4","key":"10477_CR17","doi-asserted-by":"publisher","first-page":"2102","DOI":"10.1007\/s10664-019-09695-9","volume":"24","author":"TA Ghaleb","year":"2019","unstructured":"Ghaleb TA, Da Costa DA, Zou Y (2019) An empirical study of the long duration of continuous integration builds. Empir Softw Eng 24(4):2102\u20132139","journal-title":"Empir Softw Eng"},{"key":"10477_CR18","doi-asserted-by":"crossref","unstructured":"Hassan A, Zhang K (2006) Using decision trees to predict the certification result of a build. In: Proceedings of the 21st international conference on Automated Software Engineering (ASE), pp 189\u2013198","DOI":"10.1109\/ASE.2006.72"},{"key":"10477_CR19","doi-asserted-by":"crossref","unstructured":"Hassan F, Wang X (2017) Change-aware build prediction model for stall avoidance in continuous integration. In: Proceedings of the 11th international symposium on Empirical Software Engineering and Measurement (ESEM), pp 157\u2013162","DOI":"10.1109\/ESEM.2017.23"},{"key":"10477_CR20","doi-asserted-by":"crossref","unstructured":"Herzig K, Greiler M, Czerwonka J, Murphy B (2015) The art of testing less without sacrificing quality. In: Proceedings of the 37th International Conference on Software Engineering - vol 1, ICSE \u201915, pp 483\u2013493. IEEE Press","DOI":"10.1109\/ICSE.2015.66"},{"key":"10477_CR21","doi-asserted-by":"crossref","unstructured":"Islam M, Zibran M (2017) Insights into continuous integration build failures. In: Proceedings of the 14th international conference on Mining Software Repositories (MSR), pp 467\u2013470","DOI":"10.1109\/MSR.2017.30"},{"key":"10477_CR22","doi-asserted-by":"crossref","unstructured":"Jain R, Singh SK, Mishra B (2019) A brief study on build failures in continuous integration: causation and effect. In: Progress in advanced computing and intelligent engineering, pp 17\u201327. Springer","DOI":"10.1007\/978-981-13-0224-4_2"},{"key":"10477_CR23","doi-asserted-by":"crossref","unstructured":"Jeffrey D, Gupta N (2006) Test case prioritization using relevant slices. In: Proceedings of the 30th international Computer Software and Applications Conference (COMPSAC), pp 411\u2013420","DOI":"10.1109\/COMPSAC.2006.80"},{"key":"10477_CR24","doi-asserted-by":"crossref","unstructured":"Jin X, Servant F (2020) A cost-efficient approach to building in continuous integration. In: Proceedings of the 42nd International Conference on Software Engineering (ICSE), pp 13\u201325","DOI":"10.1145\/3377811.3380437"},{"key":"10477_CR25","doi-asserted-by":"crossref","unstructured":"Jin X, Servant F (2021) Cibench: a dataset and collection of techniques for build and test selection and prioritization in continuous integration. In: 2021 IEEE\/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), pp. 166\u2013167. IEEE","DOI":"10.1109\/ICSE-Companion52605.2021.00070"},{"key":"10477_CR26","doi-asserted-by":"crossref","unstructured":"Jin X, Servant F (2021) What helped, and what did not? an evaluation of the strategies to improve continuous integration. In: 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE), pp. 213\u2013225. IEEE","DOI":"10.1109\/ICSE43902.2021.00031"},{"key":"10477_CR27","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2022.111292","volume":"188","author":"X Jin","year":"2022","unstructured":"Jin X, Servant F (2022) Which builds are really safe to skip? maximizing failure observation for build selection in continuous integration. J Syst Softw 188:111292","journal-title":"J Syst Softw"},{"key":"10477_CR28","unstructured":"Kamath D (2023) Replication package. https:\/\/github.com\/SAILResearch\/replication-21-divya_kamath-build_avoiding_heuristics-code"},{"key":"10477_CR29","doi-asserted-by":"crossref","unstructured":"Kerzazi N, Khomh F, Adams B (2014) Why do automated builds break? an empirical study. In: 2014 IEEE international conference on software maintenance and evolution, pp 41\u2013 50. IEEE","DOI":"10.1109\/ICSME.2014.26"},{"key":"10477_CR30","doi-asserted-by":"crossref","unstructured":"Kirinuki H, Higo Y, Hotta K, Kusumoto S (2016) Splitting commits via past code changes. In: 2016 23rd Asia-Pacific Software Engineering Conference (APSEC), pp 129\u2013136. IEEE","DOI":"10.1109\/APSEC.2016.028"},{"issue":"3","key":"10477_CR31","doi-asserted-by":"publisher","first-page":"307","DOI":"10.1109\/TSE.2011.29","volume":"37","author":"I Kwan","year":"2011","unstructured":"Kwan I, Schroter A, Damian D (2011) Does socio-technical congruence have an effect on software build success? a study of coordination in a software project. IEEE Trans Softw Eng 37(3):307\u2013324","journal-title":"IEEE Trans Softw Eng"},{"key":"10477_CR32","unstructured":"Learn S. Feature importances with a forest of trees. URL https:\/\/scikit-learn.org\/stable\/auto_examples\/ensemble\/plot_forest_importances.html"},{"issue":"11","key":"10477_CR33","doi-asserted-by":"publisher","first-page":"974","DOI":"10.1109\/TSE.2003.1245299","volume":"29","author":"M Marr\u00e9","year":"2003","unstructured":"Marr\u00e9 M, Bertolino A (2003) Using spanning sets for coverage testing. IEEE Transactions on Software Engineering (TSE) 29(11):974\u2013984","journal-title":"IEEE Transactions on Software Engineering (TSE)"},{"issue":"3","key":"10477_CR34","doi-asserted-by":"publisher","first-page":"14","DOI":"10.1109\/MS.2014.58","volume":"31","author":"M Meyer","year":"2014","unstructured":"Meyer M (2014) Continuous integration and its tools. IEEE Software 31(3):14\u201316. https:\/\/doi.org\/10.1109\/MS.2014.58","journal-title":"IEEE Software"},{"key":"10477_CR35","doi-asserted-by":"crossref","unstructured":"Najafi A, Rigby P, Shang W (2019) Bisecting commits and modeling commit risk during testing. In: Proceedings of the 27th Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE), pp 279\u2013289","DOI":"10.1145\/3338906.3338944"},{"key":"10477_CR36","doi-asserted-by":"crossref","unstructured":"Ni A, Li M (2017) Cost-effective build outcome prediction using cascaded classifiers. In: Proceedings of the 14th international conference on Mining Software Repositories (MSR), pp 455\u2013458","DOI":"10.1109\/MSR.2017.26"},{"key":"10477_CR37","doi-asserted-by":"crossref","unstructured":"Rausch T, Hummer W, Leitner P, Schulte S (2017) An empirical analysis of build failures in the continuous integration workflows of Java-based open-source software. In: Proceedings of the 14th international conference on Mining Software Repositories (MSR), pp 345\u2013355","DOI":"10.1109\/MSR.2017.54"},{"key":"10477_CR38","unstructured":"Rehkopf M. What is continuous integration? URL https:\/\/www.atlassian.com\/continuous-delivery\/continuous-integration"},{"key":"10477_CR39","doi-asserted-by":"crossref","unstructured":"Seo H, Sadowski C, Elbaum S, Aftandilian E, Bowdidge R (2014) Programmers\u2019 build errors: a case study (at Google). In: Proceedings of the 36th International Conference on Software Engineering (ICSE), pp 724\u2013734","DOI":"10.1145\/2568225.2568255"},{"key":"10477_CR40","unstructured":"TeamCity: Configuring vcs triggers. URL https:\/\/www.jetbrains.com\/help\/teamcity\/8.0\/configuring-vcs-triggers.html#per-checkin-triggering"},{"key":"10477_CR41","unstructured":"Tomczak M, Tomczak E (2014) The need to report effect size estimates revisited. an overview of some recommended measures of effect size"},{"key":"10477_CR42","doi-asserted-by":"crossref","unstructured":"Tufano M, Sajnani H, Herzig K (2019) Towards predicting the impact of software changes on building activities. In: 2019 IEEE\/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER), pp 49\u201352. IEEE","DOI":"10.1109\/ICSE-NIER.2019.00021"},{"key":"10477_CR43","doi-asserted-by":"crossref","unstructured":"Vassallo C, Schermann G, Zampetti F, Romano D, Leitner P, Zaidman A, Di Penta M, Panichella S (2017) A tale of CI build failures: an open source and a financial organization perspective. In: Proceedings of the 33rd International Conference on Software Maintenance and Evolution (ICSME), pp 183\u2013193","DOI":"10.1109\/ICSME.2017.67"},{"key":"10477_CR44","doi-asserted-by":"crossref","unstructured":"Wu Y, Zhang Y, Wang T, Wang H (2020) An empirical study of build failures in the Docker context. In: Proceedings of the 17th international conference on Mining Software Repositories (MSR), pp 76\u201380","DOI":"10.1145\/3379597.3387483"},{"issue":"7","key":"10477_CR45","doi-asserted-by":"publisher","first-page":"1769","DOI":"10.1587\/transinf.E97.D.1769","volume":"97","author":"X Xia","year":"2014","unstructured":"Xia X, Zhou X, Lo D, Zhao X, Wang Y (2014) An empirical study of bugs in software build system. IEICE Trans Inf Syst 97(7):1769\u20131780","journal-title":"IEICE Trans Inf Syst"},{"key":"10477_CR46","doi-asserted-by":"publisher","unstructured":"Yoo S, Harman M (2012) Regression testing minimization, selection and prioritization: a survey. Softw Test Verif Reliab 22(2):67\u2013120. https:\/\/doi.org\/10.1002\/stv.430","DOI":"10.1002\/stv.430"},{"key":"10477_CR47","doi-asserted-by":"crossref","unstructured":"Zhang C, Chen B, Chen L, Peng X, Zhao W (2019) A large-scale empirical study of compiler errors in continuous integration. In: Proceedings of the 2019 27th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering, pp 176\u2013187","DOI":"10.1145\/3338906.3338917"},{"key":"10477_CR48","doi-asserted-by":"crossref","unstructured":"Ziftci C, Reardon J (2017) Who broke the build? Automatically identifying changes that induce test failures in continuous integration at Google Scale. In: Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP), pp 113\u2013122","DOI":"10.1109\/ICSE-SEIP.2017.13"},{"key":"10477_CR49","doi-asserted-by":"crossref","unstructured":"Zolfagharinia M, Adams B, Gu\u00e9h\u00e9nuc YG (2017) Do not trust build results at face valuean empirical study of 30 million cpan builds. In: 2017 IEEE\/ACM 14th international conference on Mining Software Repositories (MSR), pp 312\u2013322. IEEE","DOI":"10.1109\/MSR.2017.7"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-024-10477-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-024-10477-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-024-10477-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,11,6]],"date-time":"2024-11-06T04:51:17Z","timestamp":1730868677000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-024-10477-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,8,30]]},"references-count":49,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2024,11]]}},"alternative-id":["10477"],"URL":"https:\/\/doi.org\/10.1007\/s10664-024-10477-1","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,8,30]]},"assertion":[{"value":"13 March 2024","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"30 August 2024","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declaration"}},{"value":"All authors declare that they have no conflicts of interest.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of Interest"}}],"article-number":"145"}}