Papers
Topics
Authors
Recent
Search
2000 character limit reached

ReviewRanker: A Semi-Supervised Learning Based Approach for Code Review Quality Estimation

Published 8 Jul 2023 in cs.SE | (2307.03996v1)

Abstract: Code review is considered a key process in the software industry for minimizing bugs and improving code quality. Inspection of review process effectiveness and continuous improvement can boost development productivity. Such inspection is a time-consuming and human-bias-prone task. We propose a semi-supervised learning based system ReviewRanker which is aimed at assigning each code review a confidence score which is expected to resonate with the quality of the review. Our proposed method is trained based on simple and and well defined labels provided by developers. The labeling task requires little to no effort from the developers and has an indirect relation to the end goal (assignment of review confidence score). ReviewRanker is expected to improve industry-wide code review quality inspection through reducing human bias and effort required for such task. The system has the potential of minimizing the back-and-forth cycle existing in the development and review process. Usable code and dataset for this research can be found at: https://github.com/saifarnab/code_review

Definition Search Book Streamline Icon: https://streamlinehq.com
References (23)
  1. Abien Fred Agarap. 2018. Deep learning using rectified linear units (relu). arXiv preprint arXiv:1803.08375 (2018).
  2. Probabilistic fasttext for multi-sense word embeddings. arXiv preprint arXiv:1806.02901 (2018).
  3. Detecting defects with an interactive code review tool based on visualisation and machine learning. In the 21st International Conference on Software Engineering and Knowledge Engineering (SEKE 2009).
  4. Vipin Balachandran. 2013. Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 931–940.
  5. Modern code reviews in open-source projects: Which problems do they fix?. In Proceedings of the 11th working conference on mining software repositories. 202–211.
  6. Process aspects and social dynamics of contemporary code review: Insights from open source development and industrial practice at microsoft. IEEE Transactions on Software Engineering 43, 1 (2017), 56–75.
  7. Characteristics of useful code reviews: An empirical study at microsoft. In 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. IEEE, 146–156.
  8. Carl Burch. 2010. Django, a web framework using python: Tutorial presentation. Journal of Computing Sciences in Colleges 25, 5 (2010), 154–155.
  9. Kenneth Ward Church. 2017. Word2Vec. Natural Language Engineering 23, 1 (2017), 155–162.
  10. Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long short-term memory. Neural computation 9, 8 (1997), 1735–1780.
  11. Diederik P Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014).
  12. Code review quality: how developers see it. In Proceedings of the 38th International Conference on Software Engineering. 1028–1038.
  13. Larry R Medsker and LC Jain. 2001. Recurrent neural networks. Design and Applications 5 (2001), 64–67.
  14. Activation functions: Comparison of trends in practice and research for deep learning. arXiv preprint arXiv:1811.03378 (2018).
  15. Search-based peer reviewers recommendation in modern code review. In 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 367–377.
  16. Predicting usefulness of code review comments using textual features and developer experience. In 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR). IEEE, 215–226.
  17. When testing meets code review: Why and how developers review tests. In 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE). IEEE, 677–687.
  18. Ray Spier. 2002. The history of the peer-review process. TRENDS in Biotechnology 20, 8 (2002), 357–358.
  19. Who should review my code? a file location-based code-reviewer recommendation approach for modern code review. In 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 141–150.
  20. Attention is all you need. Advances in neural information processing systems 30 (2017).
  21. Automatically recommending peer reviewers in modern code review. IEEE Transactions on Software Engineering 42, 6 (2015), 530–543.
  22. Understanding bag-of-words model: a statistical framework. International journal of machine learning and cybernetics 1 (2010), 43–52.
  23. Hanhua Zhu and Tomoyuki Kaneko. 2018. Comparison of Loss Functions for Training of Deep Neural Networks in Shogi. In 2018 Conference on Technologies and Applications of Artificial Intelligence (TAAI). IEEE, 18–23.
Citations (1)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.