Recommending Insightful Comments for Source Code using Crowdsourced Knowledge
Mohammad Masudur Rahman, Chanchal K. Roy and Iman Keivanloo
Abstract: Recently, automatic code comment generation is proposed to facilitate program comprehension. Existing code comment generation techniques focus on describing the functionality of the source code. However, there are other aspects such as insights about quality or issues of the code, which are overlooked by earlier approaches. In this paper, we describe a mining approach that recommends insightful comments about the quality, deficiencies or scopes for further improvement of the source code. First, we conduct an exploratory study that analyzes crowdsourced knowledge from Stack Overflow discussions as a potential resource for source code comment recommendation. Second, based on the findings from the exploratory study, we propose a heuristic-based technique for mining insightful comments from Stack Overflow Q & A site for source code comment recommendation. Experiments with 292 Stack Overflow code segments and 733 discussion comments show that our approach has a promising recall of 85.42%. We also conducted a complementary user study which confirms the accuracy and usefulness of the recommended comments.
Discussion Comments
- Comment categories
- Comments for
java
code - Comments for
android
code - Comments for
c#
code
Code Segments from Stack Overflow
- File structure: [ Postid -- segmentid.txt ]
java
code segmentsandroid
code segmentsc#
code segments
Code Segments from Open Source Projects
- Line structure: [SO code segment ID | OSS file line range | OSS file URL ]
- Matched Java code segments from OSS
- Matched Android code segments from OSS
- Matched C# code segments from OSS
@INPROCEEDINGS{scam2015masud,
author={Rahman, M. M. and Roy, C. K. and Keivanloo, I.},
booktitle={Proc. SCAM}, title={Recommending {I}nsightful {C}omments for {S}ource {C}ode using {C}rowdsourced {K}nowledge},
year={2015},
pages={81-90} }
Contact: Masud Rahman (masud.rahman@usask.ca)
OR
Create an issue from here