Test Impact Prediction for Code Commits
DOI:
https://doi.org/10.47941/ijce.2907Keywords:
Artificial Intelligence, Machine Learning, Deep Learning, Continuous Integration, Test Impact AnalysisAbstract
In fast-paced software development environments, the efficiency of Continuous Integration (CI) pipelines is frequently hampered by the escalating time required to execute comprehensive test suites. This paper presents an AI-driven framework for Test Impact Prediction (TIP) designed to intelligently identify and prioritize only the most relevant test cases affected by a specific code commit, thereby significantly reducing test execution time without compromising quality. By training sophisticated AI models on a rich array of data—including detailed code coverage metrics, granular commit differences (diffs), historical mappings between code changes and affected tests, and intricate dependency graphs of both code and tests—our system accurately predicts which tests are most likely to be impacted. This intelligent prediction enables the dynamic selection and prioritization of tests within CI pipelines, leading to an anticipated reduction in test execution time by over 50% with minimal risk of regressions. This approach not only accelerates feedback cycles for developers but also optimizes computational resource utilization, fostering a more agile and efficient development workflow crucial for modern software delivery.
Downloads
References
Hassan, A. E. (2008). Predicting faults using the complexity of code changes. IEEE ICSE. https://doi.org/10.1145/1368088.1368104
Kim, S., Zimmermann, T., Whitehead, E. J., & Zeller, A. (2007). Predicting faults from cached history. ICSE. https://doi.org/10.1109/ICSE.2007.67
Elbaum, S., Rothermel, G., Kallakuri, P., Malishevsky, A. G., & Qian, H. (2004). Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering. https://doi.org/10.1109/TSE.2004.45
Zhang, H., Zhang, L., & Kim, S. (2012). Change classification for locating broken build changes. IEEE ASE. https://doi.org/10.1145/2382756.2382794
Do, H., Elbaum, S., & Rothermel, G. (2005). Supporting controlled experimentation with testing techniques. Empirical Software Engineering. https://doi.org/10.1007/s10664-005-3861-2
Kochhar, P. S., Teyton, C., Bacchelli, A., & Lo, D. (2016). Understanding flaky tests: The developer's perspective. IEEE ICSME. https://doi.org/10.1109/ICSME.2016.10
Spacco, J., Pugh, W., Ayewah, N., & Hovemeyer, D. (2009). The Marmoset project: An automated framework for snapshot-based feedback. ACM TOCE. https://doi.org/10.1145/1509388.1509390
Busjaeger, B., & Xie, T. (2016). Learning for test prioritization: An industrial case study. FSE. https://doi.org/10.1145/2950290.2983949
Just, R., Jalali, D., & Ernst, M. D. (2014). Defects4J: A database of Java programs with real bugs. ISSTA. https://doi.org/10.1145/2610384.2628055
Hemmati, H., & Briand, L. C. (2010). An industrial investigation of similarity measures for model-based test case selection. IST Journal. https://doi.org/10.1016/j.infsof.2010.02.008
Marijan, D., Gotlieb, A., & Sen, S. (2013). Test case prioritization for continuous regression testing: An industrial case study. ISSTA. https://doi.org/10.1145/2483760.2483762
Gligoric, M., Eloussi, L., & Marinov, D. (2015). Practical regression test selection with dynamic file dependencies. ISSTA. https://doi.org/10.1145/2771783.2771802
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2025 Pradeepkumar Palanisamy

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution (CC-BY) 4.0 License that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this journal.