Using Machine Learning Image Recognition for Code Reviews

It is commonly understood that code reviews are a cost-effective way of finding faults early in the development cycle. However, many modern software developers are too busy to do them. Skipping code reviews means a loss of opportunity to detect expensive faults prior to software release. Software engineers can be pushed in many directions and reviewing code is very often considered an undesirable task, especially when time is wasted reviewing programs that are not ready. In this study, we wish to ascertain the potential for using machine learning and image recognition to detect immature software source code prior to a review. We show that it is possible to use machine learning to detect software problems visually and allow code reviews to focus on application details. The results are promising and are an indication that further research could be valuable.

[1]  Michael Dorin,et al.  Eliminating Software Caused Mission Failures , 2019, 2019 IEEE Aerospace Conference.

[2]  Ronald M. Summers,et al.  Deep Convolutional Neural Networks for Computer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning , 2016, IEEE Transactions on Medical Imaging.

[3]  Junhao Wen,et al.  Fundus Image Classification Using VGG-19 Architecture with PCA and SVD , 2018, Symmetry.

[4]  Nargis Fatima,et al.  Understanding the Impact of Feedback on Knowledge Sharing in Modern Code Review , 2019, 2019 IEEE 6th International Conference on Engineering Technologies and Applied Sciences (ICETAS).

[5]  Anshul Gupta,et al.  Intelligent code reviews using deep learning , 2018 .

[6]  Andrew Zisserman,et al.  Very Deep Convolutional Networks for Large-Scale Image Recognition , 2014, ICLR.

[7]  Navin Kumar Manaswi,et al.  Deep Learning with Applications Using Python , 2018, Apress.

[8]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[9]  Martin T. Vechev,et al.  Learning a Static Analyzer from Data , 2016, CAV.

[10]  Ting Liu,et al.  Recent advances in convolutional neural networks , 2015, Pattern Recognit..

[11]  Takuya Akiba,et al.  Extremely Large Minibatch SGD: Training ResNet-50 on ImageNet in 15 Minutes , 2017, ArXiv.

[12]  Lev Manovich,et al.  Predicting social trends from non-photographic images on Twitter , 2015, 2015 IEEE International Conference on Big Data (Big Data).

[13]  Yu-Liang Hsu,et al.  The Application of Deep Learning and Image Processing Technology in Laser Positioning , 2018, Applied Sciences.

[14]  Gabriele Bavota,et al.  Four eyes are better than two: On the impact of code reviews on software quality , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[15]  Ron Coleman,et al.  Aesthetics Versus Entropy in Source Code , 2017 .

[16]  Scott Dexter,et al.  The aesthetics of software code: A quantitative exploration. , 2012 .

[17]  Nicole Novielli,et al.  Confusion in Code Reviews: Reasons, Impacts, and Coping Strategies , 2019, 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[18]  Xiuyi Jia,et al.  Sentiment Analysis on Microblogging by Integrating Text and Image Features , 2015, PAKDD.