Abstract
Code reviewing becomes a more popular technique to find out early defects in source code. Nowadays practitioners are going for peer reviewing their codes by their co-developers to make the source code clean. Working on a distributed or dispersed team, code review is mandatory to check the patches to merge. Code reviewing can also be a form of validating functional and non-functional requirements. Sometimes reviewers do not put structured comments, which becomes a bottle neck to developers for solving the findings or suggestions commented by the reviewers. For making the code review participation more effective, structured and efficient review comments is mandatory. Mining the repositories of five commercialized projects, we have extracted 15223 review comments and labelled them. We have used 8 different machine learning and deep learning classifiers to train our model. Among those Stochastic Gradient Descent (SGD) technique achieves higher accuracy of 80.32%. This study will help the practitioners to build up structured and effective code review culture among global software developers.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Hossain, S.S.: Challenges and mitigation strategies in reusing requirements in large-scale distributed agile software development: a survey result. In: Arai, K., Bhatia, R., Kapoor, S. (eds.) CompCom 2019. AISC, vol. 998, pp. 920–935. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22868-2_63
Bacchelli, A., Bird, C.: Expectations, outcomes, and challenges of modern code review. In: Proceedings of the 2013 International Conference on Software Engineering, pp. 712–721. IEEE Press (2013)
Holzmann, G.J.: SCRUB: a tool for code reviews. Innov. Syst. Softw. Eng. 6(4), 311–318 (2010). https://doi.org/10.1007/s11334-010-0136-x
Ahmed, T., Bosu, A., Iqbal, A., Rahimi, S.: SentiCR: a customized sentiment analysis tool for code review interactions. In: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, pp. 106–111. IEEE Press (2017)
Moskowitz, M., Potter, W., King, W.: Automatic computer code review tool, 26 May 2005. US Patent App. 10/769,535
Sadowski, C., Söderberg, E., Church, L., Sipko, M., Bacchelli, A.: Modern code review: a case study at Google. In: Proceedings of the International Conference on Software Engineering: Software Engineering in Practice, pp. 181–190. Association for Computing Machinery (2018)
Henley, A.Z., Muçlu, K., Christakis, M., Fleming, S.D., Bird, C.: Cfar: a tool to increase communication, productivity, and review quality in collaborative code reviews. In: Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, pp. 1–13 (2018)
Vinodhini, G., Chandrasekaran, R.M.: Sentiment analysis and opinion mining: a survey. Int. J. 2(6), 282–292 (2012)
Rahman, S., Hossain, S.S., Islam, S., Chowdhury, M.I., Rafiq, F.B., Badruzzaman, K.B.M.: Context-based news headlines analysis using machine learning approach. In: Nguyen, N.T., Chbeir, R., Exposito, E., Aniorté, P., Trawiński, B. (eds.) ICCCI 2019. LNCS (LNAI), vol. 11684, pp. 167–178. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-28374-2_15
Madera, M., ł Tomoń, R.: A case study on machine learning model for code review expert system in software engineering. In: 2017 Federated Conference on Computer Science and Information Systems (FedCSIS), pp. 1357–1363. IEEE (2017)
Kalyan, A., Chiam, M., Sun, J., Manoharan, S.: A collaborative code review platform for GitHub. In 2016 21st International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 191–196. IEEE (2016)
Shi, S.-T., Li, M., Lo, D., Thung, F., Huo, X.: Automatic code review by learning the revision of source code. In: Proceedings of the AAAI Conference on Artificial Intelligence, vol. 33, pp. 4910–4917 (2019)
Lal, H., Pahwa, G.: Code review analysis of software system using machine learning techniques. In: 2017 11th International Conference on Intelligent Systems and Control (ISCO), pp. 8–13. IEEE (2017)
Louis, A., Dash, S.K., Barr, E.T., Sutton, C.: Deep learning to detect redundant method comments. arXiv preprint arXiv:1806.04616 (2018)
Movshovitz-Attias, D., Cohen, W.W.: Natural language models for predicting programming comments. In: Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), vol. 2, pp. 35–40 (2013)
White, M., Tufano, M., Vendome, C., Poshyvanyk, D.: Deep learning code fragments for code clone detection. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, pp. 87–98. ACM (2016)
Gupta, A., Sundaresan, N.: Intelligent code reviews using deep learning (2018)
Li, H.-Y., et al.: DeepReview: automatic code review using deep multi-instance learning. In: Yang, Q., Zhou, Z.-H., Gong, Z., Zhang, M.-L., Huang, S.-J. (eds.) PAKDD 2019. LNCS (LNAI), vol. 11440, pp. 318–330. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-16145-3_25
Brown, P.F., Desouza, P.V., Mercer, R.L., Della Pietra, V.J., Lai, J.C.: Class-based n-gram models of natural language. Comput. Linguist. 18(4), 467–479 (1992)
Ho, T.K., Hull, J.J., Srihari, S.N.: Decision combination in multiple classifier systems. IEEE Trans. Pattern Anal. Mach. Intell. 16(1), 66–75 (1994)
Rennie, J.D., Shih, L., Teevan, J., Karger, D.R.: Tackling the poor assumptions of Naive Bayes text classifiers. In: Proceedings of the 20th International Conference on Machine Learning (ICML-03), pp. 616–623 (2003)
Gunn, S.R., et al.: Support vector machines for classification and regression. ISIS Tech. Rep. 14(1), 5–16 (1998)
McCallum, A., Nigam, K., et al.: A comparison of event models for Naive Bayes text classification. In: AAAI-98 Workshop on Learning for Text Categorization, vol. 752, pp. 41–48. Citeseer (1998)
Bottou, L.: Large-scale machine learning with stochastic gradient descent. In: Lechevallier, Y., Saporta, G. (eds.) Proceedings of COMPSTAT 2010, pp. 177–186. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-7908-2604-3_16
Chen, T., Guestrin, C.: XGBoost: a scalable tree boosting system. In: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 785–794 (2016)
Stephen, I.: Perceptron-based learning algorithms. IEEE Trans. Neural Netw. 50(2), 179 (1990)
Crammer, K., Dekel, O., Keshet, J., Shalev-Shwartz, S., Singer, Y.: Online passive-aggressive algorithms. J. Mach. Learn. Rese. 7(Mar), 551–585 (2006)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Hossain, S.S., Arafat, Y., Hossain, M.E., Arman, M.S., Islam, A. (2020). Measuring the Effectiveness of Software Code Review Comments. In: Singh, M., Gupta, P., Tyagi, V., Flusser, J., Ören, T., Valentino, G. (eds) Advances in Computing and Data Sciences. ICACDS 2020. Communications in Computer and Information Science, vol 1244. Springer, Singapore. https://doi.org/10.1007/978-981-15-6634-9_23
Download citation
DOI: https://doi.org/10.1007/978-981-15-6634-9_23
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-6633-2
Online ISBN: 978-981-15-6634-9
eBook Packages: Computer ScienceComputer Science (R0)