Please use this identifier to cite or link to this item: https://doi.org/10.1109/ACCESS.2020.2966532
Title: Review Sharing via Deep Semi-Supervised Code Clone Detection
Authors: Guo, C.
Yang, H.
Huang, D.
Zhang, J.
Dong, N. 
Xu, J.
Zhu, J.
Keywords: Code clone
deep learning
review sharing
semi-supervised CNN
software review
Issue Date: 2020
Publisher: Institute of Electrical and Electronics Engineers Inc.
Citation: Guo, C., Yang, H., Huang, D., Zhang, J., Dong, N., Xu, J., Zhu, J. (2020). Review Sharing via Deep Semi-Supervised Code Clone Detection. IEEE Access 8 : 24948-24965. ScholarBank@NUS Repository. https://doi.org/10.1109/ACCESS.2020.2966532
Abstract: Code review as a typical type of user feedback has recently drawn increasing attentions for improving code quality. To carry out research on code review, sufficient review data is normally required. As a result, recent efforts commonly focus on analysis for projects with sufficient reviews (called 's-projects'), rather than projects with extremely few ones (called 'f-projects'). Actually, through statistics on public platforms, the latter ones dominate open source software, in which novel approaches should be explored to improve their review-based code improvement. In this paper, we try to address the problem via building a review sharing channel where the informative review can be reasonably delivered from s-projects to the f-projects. To ensure the accuracy of shared reviews, we introduce a novel code clone detection model based on Convolutional Neural Network (CNN), and build suitable 's-projects, f-projects' pairs through the clone detection. Especially, to alleviate the dataset heterogeneity between the training and testing, an autoencoder-based semi-supervised learning strategy is employed. Furthermore, to improve the sharing experience, heuristic filtering tactics are applied to reduce the time cost. Meanwhile, the LDA (Latent Dirichlet Allocation)-based ranking algorithm is used for presenting diverse review themes. We have implemented the sharing channel as a prototype system RSharer+, which contains three representative modules: data preprocessing, code clone detection and review presentation. The collected datasets are first transformed into context-sensitive numerical vectors in the data proprecessing. Then in the clone detection, data vectors are trained and tested on the BigCloneBench and real code-review pairs. At last, the presentation module provides review classification and theme extraction for better sharing experience. Extensive comparative experiments on hundreds of real labelled code fragments demonstrate the precision of clone detection and the effectiveness of review sharing. © 2013 IEEE.
Source Title: IEEE Access
URI: https://scholarbank.nus.edu.sg/handle/10635/197871
ISSN: 21693536
DOI: 10.1109/ACCESS.2020.2966532
Appears in Collections:Elements
Staff Publications

Show full item record
Files in This Item:
File Description SizeFormatAccess SettingsVersion 
10_1109_ACCESS_2020_2966532.pdf2.29 MBAdobe PDF

OPEN

NoneView/Download

Google ScholarTM

Check

Altmetric


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.