[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

MULTICR: Predicting Merged and Abandoned Code Changes in Modern Code Review Using Multi-Objective Search

Published: 03 December 2024 Publication History

Abstract

Modern Code Review (MCR) is an essential process in software development to ensure high-quality code. However, developers often spend considerable time reviewing code changes before being merged into the main code base. Previous studies attempted to predict whether a code change was going to be merged or abandoned soon after it was submitted to improve the code review process. However, these approaches require complex cost-sensitive learning, which makes their adoption challenging since it is difficult for developers to understand the main factors behind the models’ predictions. To address this issue, we introduce in this article, MULTICR, a multi-objective search-based approach that uses Multi-Objective Genetic Programming (MOGP) to learn early code review prediction models as IF-THEN rules. MULTICR evolves predictive models while maximizing the accuracy of both merged and abandoned classes, eliminating the need for misclassification cost estimation. To evaluate MULTICR, we conducted an empirical study on 146,612 code reviews from Eclipse, LibreOffice, and Gerrithub. The obtained results show that MULTICR outperforms existing baselines in terms of Matthew Correlation Coefficient (MCC) and F1 scores while learning less complex models compared to decision trees. Our experiments also showed how MULTICR allows identifying the main factors related to abandoned code reviews as well as their associated thresholds, making it a promising approach for early code review prediction with notable performance and inter-operability. Additionally, we qualitatively evaluate MULTICR by conducting a user study through semi-structured interviews involving 10 practitioners from different organizations. The obtained results indicate that 90% of the participants find that MULTICR is useful and can help them to improve the code review process. Additionally, the learned IF-THEN rules of MULTICR are transparent.

References

[1]
MULTICR Replication Package___. 2024. Retrieved from https://github.com/stilab-ets/multicr
[2]
Hamad Alsawalqah, Hossam Faris, Ibrahim Aljarah, Loai Alnemer, and Nouh Alhindawi. 2017. Hybrid SMOTE-ensemble approach for software defect prediction. In Computer Science On-line Conference. Springer, 355–366.
[3]
Ishani Arora, Vivek Tetarwal, and Anju Saha. 2015. Open issues in software defect prediction. Procedia Computer Science 46 (2015), 906–912.
[4]
Alberto Bacchelli and Christian Bird. 2013. Expectations, outcomes, and challenges of modern code review. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 712–721.
[5]
Abdullateef O. Balogun, Fatimah B. Lafenwa-Balogun, Hammed A. Mojeed, Victor E. Adeyemo, Oluwatobi N. Akande, Abimbola G. Akintola, Amos O. Bajeh, and Fatimah E. Usman-Hamza. 2020. SMOTE-based homogeneous ensemble methods for software defect prediction. In International Conference on Computational Science and Its Applications. Springer, 615–631.
[6]
Sebastian Baltes and Paul Ralph. 2022. Sampling in software engineering research: A critical review and guidelines. Empirical Software Engineering 27, 4 (2022), 94.
[7]
Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, and Frank D. Francone. 1998. Genetic Programming. Springer.
[8]
Olga Baysal, Oleksii Kononenko, Reid Holmes, and Michael W. Godfrey. 2016. Investigating technical and non-technical factors influencing modern code review. Empirical Software Engineering 21, 3 (2016), 932–959.
[9]
Urvesh Bhowan, Mark Johnston, Mengjie Zhang, and Xin Yao. 2012. Evolving diverse ensembles using genetic programming for classification with unbalanced data. IEEE Transactions on Evolutionary Computation 17, 3 (2012), 368–386.
[10]
Urvesh Bhowan, Mark Johnston, Mengjie Zhang, and Xin Yao. 2013. Reusing genetic programming for ensemble selection in classification of unbalanced data. IEEE Transactions on Evolutionary Computation 18, 6 (2013), 893–908.
[11]
Amiangshu Bosu and Jeffrey C. Carver. 2014. Impact of developer reputation on code review outcomes in OSS projects: An empirical investigation. In International Symposium on Empirical Software Engineering and Measurement, 1–10.
[12]
H. Alperen Çetin, Emre Doğan, and Eray Tüzün. 2021. A review of code reviewer recommendation studies: Challenges and future directions. Science of Computer Programming 208 (2021), 102652.
[13]
Nitesh V. Chawla, Kevin W. Bowyer, Lawrence O. Hall, and W. Philip Kegelmeyer. 2002. SMOTE: Synthetic minority over-sampling technique. Journal of Artificial Intelligence Research 16 (2002), 321–357.
[14]
Nitesh V. Chawla, Aleksandar Lazarevic, Lawrence O. Hall, and Kevin W. Bowyer. 2003. SMOTEBoost: Improving prediction of the minority class in boosting. In European Conference on Principles of Data Mining and Knowledge Discovery. Springer, 107–119.
[15]
Di Chen, Wei Fu, Rahul Krishna, and Tim Menzies. 2018. Applications of psychological science for actionable analytics. In 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 456–467.
[16]
Moataz Chouchen, Ali Ouni, Mohamed Wiem Mkaouer, Raula Gaikovina Kula, and Katsuro Inoue. 2021. WhoReview: A multi-objective search-based approach for code reviewers recommendation in modern code review. Applied Soft Computing 100 (2021), 106908.
[17]
Jacob Cohen. 2013. Statistical Power Analysis for the Behavioral Sciences. Academic Press.
[18]
Hoa Khanh Dam, Truyen Tran, and Aditya Ghose. 2018. Explainable software analytics. In 40th International Conference on Software Engineering: New Ideas and Emerging Results, 53–56.
[19]
Nicole Davila and Ingrid Nunes. 2021. A systematic literature review and taxonomy of modern code review. Journal of Systems and Software 177 (2021), 110951.
[20]
Kalyanmoy Deb and Himanshu Jain. 2013. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: Solving problems with box constraints. IEEE Transactions on Evolutionary Computation 18, 4 (2013), 577–601.
[21]
Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and T. Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6, 2 (2002), 182–197.
[22]
Elizabeth R. DeLong, David M. DeLong, and Daniel L. Clarke-Pearson. 1988. Comparing the areas under two or more correlated receiver operating characteristic curves: A nonparametric approach. Biometrics (1988), 837–845.
[23]
Thomas G. Dietterich. 2000. An experimental comparison of three methods for constructing ensembles of decision trees: Bagging, boosting, and randomization. Machine Learning 40 (2000), 139–157.
[24]
Finale Doshi-Velez and Been Kim. 2017. Towards a rigorous science of interpretable machine learning. arXiv preprint arXiv:1702.08608. Retrieved from https://arxiv.org/abs/1702.08608
[25]
Felipe Ebert, Fernando Castor, Nicole Novielli, and Alexander Serebrenik. 2021. An exploratory study on confusion in code reviews. Empirical Software Engineering 26 (2021), 1–48.
[26]
Carolyn D. Egelman, Emerson Murphy-Hill, Elizabeth Kammer, Margaret Morrow Hodges, Collin Green, Ciera Jaspan, and James Lin. 2020. Predicting developers’ negative feelings about code review. In 2020 IEEE/ACM of the 42nd International Conference on Software Engineering (ICSE). IEEE, 174–185.
[27]
Jayalath Ekanayake, Jonas Tappolet, Harald C. Gall, and Abraham Bernstein. 2009. Tracking concept drift of software projects using defect prediction quality. In 2009 6th IEEE International Working Conference on Mining Software Repositories. IEEE, 51–60.
[28]
Omar Elazhary, Colin Werner, Ze Shi Li, Derek Lowlind, Neil A. Ernst, and Margaret-Anne Storey. 2021. Uncovering the benefits and challenges of continuous integration practices. IEEE Transactions on Software Engineering 48, 7 (2021), 2570–2583.
[29]
Michael E. Fagan. 1999. Design and code inspections to reduce errors in program development. IBM Systems Journal 38, 2.3 (1999), 258–287.
[30]
Yuanrui Fan, Xin Xia, David Lo, and Shanping Li. 2018. Early prediction of merged code changes to prioritize reviewing tasks. Empirical Software Engineering 23, 6 (2018), 3346–3393.
[31]
Alex A. Freitas. 2014. Comprehensible classification models: A position paper. ACM SIGKDD Explorations Newsletter 15, 1 (2014), 1–10.
[32]
Jerome H. Friedman. 2001. Greedy function approximation: A gradient boosting machine. Annals of Statistics (2001), 1189–1232.
[33]
Çağdaş Evren Gerede and Zeki Mazan. 2018. Will it pass? Predicting the outcome of a source code review. Turkish Journal of Electrical Engineering and Computer Sciences 26, 3 (2018), 1343–1353.
[34]
Georgios Gousios, Martin Pinzger, and Arie van Deursen. 2014. An exploratory study of the pull-based software development model. In 36th International Conference on Software Engineering, 345–355.
[35]
Hongyu Guo and Herna L. Viktor. 2004. Learning from imbalanced data sets with boosting and data generation: The databoost-IM approach. ACM SIGKDD Explorations Newsletter 6, 1 (2004), 30–39.
[36]
David Hadka. 2012. MOEA framework: A free and open source java framework for multiobjective optimization.
[37]
Mark Harman and Bryan F. Jones. 2001. Search-based software engineering. Information and Software Technology 43, 14 (2001), 833–839.
[38]
Mark Harman, S. Afshin Mansouri, and Yuanyuan Zhang. 2012. Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys (CSUR) 45, 1 (2012), 1–61.
[39]
Haibo He and Edwardo A. Garcia. 2009. Learning from imbalanced data. IEEE Transactions on Knowledge and Data Engineering 21, 9 (2009), 1263–1284.
[40]
Daniel Hein, Steffen Udluft, and Thomas A. Runkler. 2018. Interpretable policies for reinforcement learning by genetic programming. Engineering Applications of Artificial Intelligence 76 (2018), 158–169.
[41]
Steffen Herbold. 2017. Comments on ScottKnottESD in response to “An empirical comparison of model validation techniques for defect prediction models”. IEEE Transactions on Software Engineering 43, 11 (2017), 1091–1094.
[42]
Michael Hilton, Nicholas Nelson, Timothy Tunnell, Darko Marinov, and Danny Dig. 2017. Trade-offs in continuous integration: Assurance, security, and flexibility. In 11th Joint Meeting on Foundations of Software Engineering, 197–207.
[43]
Seyedrebvar Hosseini, Burak Turhan, and Dimuthu Gunarathna. 2017. A systematic literature review and meta-analysis on cross project defect prediction. IEEE Transactions on Software Engineering 45, 2 (2017), 111–147.
[44]
Mohammad Hossin and Md Nasir Sulaiman. 2015. A review on evaluation metrics for data classification evaluations. International Journal of Data Mining & Knowledge Management Process 5, 2 (2015), 1.
[45]
Yuan Huang, Nan Jia, Xiaocong Zhou, Kai Hong, and Xiangping Chen. 2019. Would the patch be quickly merged? In International Conference on Blockchain and Trustworthy Systems. Springer, 461–475.
[46]
Hisao Ishibuchi, Yusuke Nojima, and Tsutomu Doi. 2006. Comparison between single-objective and multi-objective genetic algorithms: Performance comparison and performance measures. In 2006 IEEE International Conference on Evolutionary Computation. IEEE, 1143–1150.
[47]
Khairul Islam, Toufique Ahmed, Rifat Shahriyar, Anindya Iqbal, and Gias Uddin. 2022. Early prediction for merged vs abandoned code changes in modern code reviews. Information and Software Technology 142 (2022), 106756.
[48]
Gaeul Jeong, Sunghun Kim, Thomas Zimmermann, and Kwangkeun Yi. 2009. Improving code review by predicting reviewers and acceptance of patches. Research on Software Analysis for Error-Free Computing Center Tech-Memo (ROSAEC MEMO 2009-006) (2009), 1–18.
[49]
Yujuan Jiang, Bram Adams, and Daniel M German. 2013. Will my patch make it? And how fast? Case study on the Linux kernel. In 2013 10th Working Conference on Mining Software Repositories (MSR). IEEE, 101–110.
[50]
Jirayus Jiarpakdee, Chakkrit Tantithamthavorn, and John Grundy. 2021. Practitioners’ perceptions of the goals and visual explanations of defect prediction models. In Proceedings of the 18th International Conference on Mining Software Repositories (MSR). IEEE, 432–443.
[51]
Jirayus Jiarpakdee, Chakkrit Kla Tantithamthavorn, Hoa Khanh Dam, and John Grundy. 2020. An empirical study of model-agnostic techniques for defect prediction models. IEEE Transactions on Software Engineering 48, 1 (2020), 166–185.
[52]
Yasutaka Kamei, Emad Shihab, Bram Adams, Ahmed E. Hassan, Audris Mockus, Anand Sinha, and Naoyasu Ubayashi. 2012. A large-scale empirical study of just-in-time quality assurance. IEEE Transactions on Software Engineering 39, 6 (2012), 757–773.
[53]
Dean C. Karnopp. 1963. Random search techniques for optimization problems. Automatica 1, 2–3 (1963), 111–121.
[54]
Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, and Tie-Yan Liu. 2017. LightGBM: A highly efficient gradient boosting decision tree. Advances in Neural Information Processing Systems 30 (2017).
[55]
Marouane Kessentini and Ali Ouni. 2017. Detecting android smells using multi-objective genetic programming. In 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft). IEEE, 122–132.
[56]
Sayedhassan Khatoonabadi, Diego Elias Costa, Rabe Abdalkareem, and Emad Shihab. 2023. On wasted contributions: Understanding the dynamics of contributor-abandoned pull requests–a mixed-methods study of 10 large open-source projects. ACM Transactions on Software Engineering and Methodology 32, 1 (Jan 2023), 1–39. DOI:
[57]
Oleksii Kononenko, Olga Baysal, and Michael W. Godfrey. 2016. Code review quality: How developers see it. In 38th International Conference on Software Engineering, 1028–1038.
[58]
Vladimir Kovalenko and Alberto Bacchelli. 2018. Code review for newcomers: Is it different? In 11th International Workshop on Cooperative and Human Aspects of Software Engineering, 29–32.
[59]
John R. Koza. 1994. Genetic programming as a means for programming computers by natural selection. Statistics and Computing 4, 2 (1994), 87–112.
[60]
Miqing Li, Tao Chen, and Xin Yao. 2022. How to evaluate solutions in pareto-based search-based software engineering: A critical review and methodological guidance. IEEE Transactions on Software Engineering 48, 5 (2022), 1771–1799. DOI:
[61]
Miqing Li and Xin Yao. 2019. Quality evaluation of solution sets in multiobjective optimisation: A survey. ACM Computing Surveys (CSUR) 52, 2 (2019), 1–38.
[62]
Yuting Li, Jianmin Su, and Xiaoxing Yang. 2018. Multi-objective vs. single-objective approaches for software defect prediction. In 2018 2nd International Conference on Management Engineering, Software Engineering and Service Sciences, 122–127.
[63]
Zachary C. Lipton. 2018. The mythos of model interpretability: In machine learning, the concept of interpretability is both important and slippery. Queue 16, 3 (2018), 31–57.
[64]
Wei-Yin Loh. 2011. Classification and regression trees. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 1, 1 (2011), 14–23.
[65]
Laura MacLeod, Michaela Greiler, Margaret-Anne Storey, Christian Bird, and Jacek Czerwonka. 2017. Code reviewing in the trenches: Challenges and best practices. IEEE Software 35, 4 (2017), 34–42.
[66]
Chandra Maddila, Sai Surya Upadrasta, Chetan Bansal, Nachiappan Nagappan, Georgios Gousios, and Arie van Deursen. 2023. Nudge: accelerating overdue pull requests toward completion. ACM Transactions on Software Engineering and Methodology 32, 2 (Apr 2023), 1–30. DOI:
[67]
Brian W. Matthews. 1975. Comparison of the predicted and observed secondary structure of T4 phage lysozyme. Biochimica et Biophysica Acta (BBA)-Protein Structure 405, 2 (1975), 442–451.
[68]
Christoph Molnar. 2020. Interpretable Machine Learning. Retrieved from Lulu.com.
[69]
Toshiki Mori and Naoshi Uchihira. 2019. Balancing the trade-off between accuracy and interpretability in software defect prediction. Empirical Software Engineering 24, 2 (2019), 779–825.
[70]
Raimund Moser, Witold Pedrycz, and Giancarlo Succi. 2008. A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In 30th International Conference on Software Engineering, 181–190.
[71]
Rebecca Moussa and Federica Sarro. 2022. On the use of evaluation measures for defect prediction studies. In 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, 101–113.
[72]
Nachiappan Nagappan, Thomas Ball, and Andreas Zeller. 2006. Mining metrics to predict component failures. In 28th International Conference on Software Engineering, 452–461.
[73]
Alexey Natekin and Alois Knoll. 2013. Gradient boosting machines, a tutorial. Frontiers in Neurorobotics 7 (2013), 21.
[74]
Ali Ouni. 2020. Search based software engineering: Challenges, opportunities and recent applications. In Genetic and Evolutionary Computation Conference Companion, 1114–1146.
[75]
Ali Ouni, Marouane Kessentini, Katsuro Inoue, and Mel O. Cinnéide. 2015. Search-based web service antipatterns detection. IEEE Transactions on Services Computing 10, 4 (2015), 603–617.
[76]
Ali Ouni, Marouane Kessentini, Houari Sahraoui, and Mounir Boukadoum. 2013. Maintainability defects detection and correction: A multi-objective approach. Automated Software Engineering 20, 1 (2013), 47–79.
[77]
F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. 2011. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research 12 (2011), 2825–2830.
[78]
Lourdes Pelayo and Scott Dick. 2007. Applying novel resampling strategies to software defect prediction. In NAFIPS 2007-2007 Annual Meeting of the North American Fuzzy Information Processing Society. IEEE, 69–72.
[79]
Kewen Peng, and Tim Menzies. 2022. Defect reduction planning (Using TimeLIME). IEEE Transactions on Software Engineering 48, 7 (2022), 2510–2525. DOI:
[80]
Philipp Probst, Anne-Laure Boulesteix, and Bernd Bischl. 2019. Tunability: Importance of hyperparameters of machine learning algorithms. The Journal of Machine Learning Research 20, 1 (2019), 1934–1965.
[81]
Peter C. Rigby and Christian Bird. 2013. Convergent contemporary software peer review practices. In 2013 9th Joint Meeting on Foundations of Software Engineering, 202–212.
[82]
Nery Riquelme, Christian Von Lücken, and Benjamin Baran. 2015. Performance metrics in multi-objective optimization. In 2015 Latin American Computing Conference (CLEI). IEEE, 1–11.
[83]
Sebastian Ruder. 2016. An overview of gradient descent optimization algorithms. arXiv:1609.04747. Retrieved from https://arxiv.org/abs/1609.04747
[84]
Islem Saidani, Ali Ouni, Moataz Chouchen, and Mohamed Wiem Mkaouer. 2020. Predicting continuous integration build failures using evolutionary search. Information and Software Technology 128 (2020), 106392.
[85]
Islem Saidani, Ali Ouni, and Mohamed Wiem Mkaouer. 2022. Improving the prediction of continuous integration build failures using deep learning. Automated Software Engineering 29, 1 (2022), 1–61.
[86]
Islem Saidani, Ali Ouni, and Mohamed Wiem Mkaouer. 2022. Detecting continuous integration skip commits using multi-objective evolutionary search. IEEE Transactions on Software Engineering 48, 12, 4873–4891. DOI:
[87]
Federica Sarro, Alessio Petrozziello, and Mark Harman. 2016. Multi-objective software effort estimation. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). IEEE, 619–630.
[88]
Abdel Salam Sayyad, Joseph Ingram, Tim Menzies, and Hany Ammar. 2013a. Optimum feature selection in software product lines: Let your model and values guide your search. In 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE). IEEE, 22–27.
[89]
Abdel Salam Sayyad, Tim Menzies, and Hany Ammar. 2013b. On the value of user preferences in search-based software engineering: A case study in software product lines. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 492–501.
[90]
Ina Schieferdecker. 2020. Responsible software engineering. In The Future of Software Quality Assurance. Springer, Cham, 137–146.
[91]
Forrest Shull and Carolyn Seaman. 2008. Inspecting the history of inspections: An example of evidence-based technology diffusion. IEEE Software 25, 1 (2008), 88–90.
[92]
Anshuman Singh, Andrew Walenstein, and Arun Lakhotia. 2012. Tracking concept drift in malware families. In 5th ACM Workshop on Security and Artificial Intelligence, 81–92.
[93]
Daricélio Moreira Soares, Manoel Limeira de Lima Júnior, Leonardo Murta, and Alexandre Plastino. 2015. Acceptance factors of pull requests in open-source projects. In 30th Annual ACM Symposium on Applied Computing, 1541–1546.
[94]
Chakkrit Tantithamthavorn, Jürgen Cito, Hadi Hemmati, and Satish Chandra. 2023. Explainable AI for SE: Challenges and future directions. IEEE Software 40, 3 (2023), 29–33.
[95]
Chakkrit Tantithamthavorn, Ahmed E. Hassan, and Kenichi Matsumoto. 2018a. The impact of class rebalancing techniques on the performance and interpretation of defect prediction models. IEEE Transactions on Software Engineering 46, 11 (2018), 1200–1219.
[96]
Chakkrit Tantithamthavorn, Shane McIntosh, Ahmed E. Hassan, and Kenichi Matsumoto. 2019. The impact of automated parameter optimization on defect prediction models. IEEE Transactions on Software Engineering 45, 7, 683–711. DOI:
[97]
Chakkrit Tantithamthavorn, Shane McIntosh, Ahmed E. Hassan, and Kenichi Matsumoto. 2018c. The impact of automated parameter optimization on defect prediction models. IEEE Transactions on Software Engineering 45, 7 (2018), 683–711.
[98]
Chakkrit Kla Tantithamthavorn and Jirayus Jiarpakdee. 2021. Explainable AI for software engineering. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 1–2.
[99]
Vali Tawosi, Federica Sarro, Alessio Petrozziello, and Mark Harman. 2022. Multi-objective software effort estimation: A replication study. IEEE Transactions on Software Engineering 48, 8, 3185–3205. DOI:
[100]
Josh Terrell, Andrew Kofink, Justin Middleton, Clarissa Rainear, Emerson Murphy-Hill, Chris Parnin, and Jon Stallings. 2017. Gender differences and bias in open source: Pull request acceptance of women versus men. PeerJ Computer Science 3 (2017), e111.
[101]
Patanamon Thongtanunam, Shane McIntosh, Ahmed E. Hassan, and Hajimu Iida. 2017. Review participation in modern code review. Empirical Software Engineering 22, 2 (2017), 768–817.
[102]
Jason Tsay, Laura Dabbish, and James Herbsleb. 2014. Influence of social and technical factors for evaluating contribution in GitHub. In 36th International Conference on Software Engineering, 356–366.
[103]
Burak Turhan. 2012. On the dataset shift problem in software engineering prediction models. Empirical Software Engineering 17, 1 (2012), 62–74.
[104]
David A. Van Veldhuizen and and Gary B. Lamont. 1998. Evolutionary computation and convergence to a Pareto front. In Late Breaking Papers at the Genetic Programming 1998 Conference. Citeseer, 221–228.
[105]
Leonardo Villalobos-Arias, Christian Quesada-López, Alexandra Martínez, and Marcelo Jenkins. 2021. Hyper-parameter tuning of classification and regression trees for software effort estimation. In World Conference on Information Systems and Technologies. Springer, 589–598.
[106]
Lawrence G. Votta Jr. 1993. Does every inspection need a meeting? In 1st ACM SIGSOFT Symposium on Foundations of Software Engineering, 107–114.
[107]
Dandan Wang, Qing Wang, Junjie Wang, and Lin Shi. 2021b. Accept or not? An empirical study on analyzing the factors that affect the outcomes of modern code review. In 2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS). IEEE, 946–955.
[108]
Qingye Wang, Xin Xia, David Lo, and Shanping Li. 2019b. Why is my code change abandoned? Information and Software Technology 110 (2019), 108–120.
[109]
Shuai Wang, Shaukat Ali, Tao Yue, Yan Li, and Marius Liaaen. 2016. A practical guide to select quality indicators for assessing pareto-based search algorithms in search-based software engineering. In 38th International Conference on Software Engineering, 631–642.
[110]
Song Wang, Chetan Bansal, and Nachiappan Nagappan. 2021a. Large-scale intent analysis for identifying large-review-effort code changes. Information and Software Technology 130 (2021), 106408.
[111]
Song Wang, Chetan Bansal, Nachiappan Nagappan, and Adithya Abraham Philip. 2019a. Leveraging change intents for characterizing and identifying large-review-effort changes. In 15th International Conference on Predictive Models and Data Analytics in Software Engineering, 46–55.
[112]
Shinya Watanabe and Kazutoshi Sakakibara. 2005. Multi-objective approaches in a single-objective optimization environment. In 2005 IEEE Congress on Evolutionary Computation, Vol. 2. IEEE, 1714–1721.
[113]
Gary M. Weiss. 2004. Mining with rarity: A unifying framework. ACM Sigkdd Explorations Newsletter 6, 1 (2004), 7–19.
[114]
Yinxing Xue, Jinghui Zhong, Tian Huat Tan, Yang Liu, Wentong Cai, Manman Chen, and Jun Sun. 2016. IBED: Combining IBEA and DE for optimal feature selection in software product line engineering. Applied Soft Computing 49 (2016), 1215–1231.
[115]
Xin Yang, Raula Gaikovina Kula, Norihiro Yoshida, and Hajimu Iida. 2016. Mining the modern code review repositories: A dataset of people, process and product. In 13th International Conference on Mining Software Repositories, 460–463.
[116]
Jingxiu Yao and Martin Shepperd. 2020. Assessing software defection prediction performance: Why using the Matthews correlation coefficient matters. In 24th International Conference on Evaluation and Assessment in Software Engineering, 120–129.
[117]
Mohd Z. Zakaria, Hishamuddin Jamaluddin, Robiah Ahmad, and Sayed M. R. Loghmanian. 2012. Comparison between multi-objective and single-objective optimization for the modeling of dynamic systems. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering 226, 7 (2012), 994–1005.
[118]
Abdelali Zakrani, Assia Najm, and Abdelaziz Marzak. 2018. Support vector regression based on grid-search method for agile software effort prediction. In 2018 IEEE 5th International Congress on Information Science and Technology (CiSt). IEEE, 1–6.
[119]
Fiorella Zampetti, Damian Tamburri, Sebastiano Panichella, Annibale Panichella, Gerardo Canfora, and Massimiliano Di Penta. 2023. Continuous integration and delivery practices for cyber-physical systems: An interview-based study. ACM Transactions on Software Engineering and Methodology 32, 3 (2023), 1–44.
[120]
Motahareh Bahrami Zanjani, Huzefa Kagdi, and Christian Bird. 2015. Automatically recommending peer reviewers in modern code review. IEEE Transactions on Software Engineering 42, 6 (2015), 530–543.
[121]
Jan Zenisek, Florian Holzinger, and Michael Affenzeller. 2019. Machine learning based concept drift detection for predictive maintenance. Computers & Industrial Engineering 137 (2019), 106031.
[122]
Liang Zhang, Kefan Wang, Luyuan Xu, Wenjia Sheng, and Qi Kang. 2022. Evolving ensembles using multi-objective genetic programming for imbalanced classification. Knowledge-Based Systems 255 (2022), 109611.
[123]
Jinghui Zhong, Liang Feng, and Yew-Soon Ong. 2017. Gene expression programming: A survey. IEEE Computational Intelligence Magazine 12, 3 (2017), 54–72.
[124]
Eckart Zitzler and Simon Künzli. 2004. Indicator-based selection in multiobjective search. In International Conference on Parallel Problem Solving from Nature, 832–842.
[125]
Eckart Zitzler, Marco Laumanns, and Lothar Thiele. 2001. SPEA2: Improving the strength Pareto evolutionary algorithm. TIK-Report 103 (2001).
[126]
Eckart Zitzler and Lothar Thiele. 1998. Multiobjective optimization using evolutionary algorithms—a comparative case study. In International Conference on Parallel Problem Solving from Nature. Springer, 292–301.

Index Terms

  1. MULTICR: Predicting Merged and Abandoned Code Changes in Modern Code Review Using Multi-Objective Search

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Software Engineering and Methodology
    ACM Transactions on Software Engineering and Methodology  Volume 33, Issue 8
    November 2024
    975 pages
    EISSN:1557-7392
    DOI:10.1145/3613733
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 03 December 2024
    Online AM: 30 July 2024
    Accepted: 27 June 2024
    Revised: 15 March 2024
    Received: 15 March 2024
    Published in TOSEM Volume 33, Issue 8

    Check for updates

    Author Tags

    1. Genetic Programming
    2. code review
    3. collaborative software engineering
    4. early prediction

    Qualifiers

    • Research-article

    Funding Sources

    • Natural Sciences and Engineering Research Council of Canada

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 184
      Total Downloads
    • Downloads (Last 12 months)184
    • Downloads (Last 6 weeks)41
    Reflects downloads up to 25 Dec 2024

    Other Metrics

    Citations

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media