CPC: Automatically Classifying and Propagating Natural Language Comments via Program AnalysisTechnical
Modern software systems usually contain enormous code comments which provide abundant information that have been leveraged to help perform various software engineering tasks, such as bug detection, specification inference, and code synthesis. However, existing work barely leverages program analysis to systematically derive, refine, and propagate comments. For example, by propagation via program analysis, comments can be passed on to code entities that are not commented such that code bugs can be detected leveraging the propagated comments. Developers usually comment on different aspects of code elements like methods, and use comments to describe various contents, such as functionalities and properties. To more effectively utilize comments, a fined-grained and elaborated taxonomy of comments and a reliable classifier to automatically categorize a comment are needed. In this paper, we build a comprehensive taxonomy and propose using program analysis to propagate comments. We develop a prototype CPC, and evaluate it on 5 projects. The evaluation results demonstrate 41573 new comments can be derived by propagation from other code locations with 88% accuracy. Among them, we can derive precise functional comments for 87 native methods that have neither existing comments nor source code. Leveraging the propagated comments, we detect 37 new bugs in open source large projects, 30 of which have been confirmed and fixed by developers, and 304 defects in existing comments (by looking at inconsistencies between existing and propagated comments), including 12 incomplete comments and 292 wrong comments. This demonstrates the effectiveness of our approach. Our user study confirms propagated comments align well with existing comments in terms of quality.
Tue 7 JulDisplayed time zone: (UTC) Coordinated Universal Time change
15:00 - 16:00 | A3-Code SummarizationTechnical Papers / New Ideas and Emerging Results at Silla Chair(s): Shaohua Wang New Jersey Institute of Technology, USA | ||
15:00 12mTalk | Posit: Simultaneously Tagging Natural and Programming LanguagesTechnical Technical Papers Profir-Petru Pârțachi University College London, Santanu Dash University College London, UK, Christoph Treude The University of Adelaide, Earl T. Barr University College London, UK Pre-print Media Attached File Attached | ||
15:12 12mTalk | CPC: Automatically Classifying and Propagating Natural Language Comments via Program AnalysisTechnical Technical Papers Juan Zhai Rutgers University, Xiangzhe Xu Nanjing University, Yu Shi Purdue University, Guanhong Tao Purdue University, Minxue Pan Nanjing University, Shiqing Ma Rutgers University, Lei Xu National Key Laboratory for Novel Software Technology, Nanjing University, Weifeng Zhang Nanjing University of Posts and Telecommunications, Lin Tan Purdue University, Xiangyu Zhang Purdue University | ||
15:24 12mTalk | Suggesting Natural Method Names to Check Name ConsistenciesTechnical Technical Papers Son Nguyen The University of Texas at Dallas, Hung Phan , Trinh Le University of Engineering and Technology, Tien N. Nguyen University of Texas at Dallas Pre-print | ||
15:36 6mTalk | Where should I comment my code? A dataset and model for predicting locations that need commentsNIER New Ideas and Emerging Results Annie Louis University of Edinburgh, Santanu Dash University College London, UK, Earl T. Barr University College London, UK, Michael D. Ernst University of Washington, USA, Charles Sutton Google Research | ||
15:42 12mTalk | Retrieval-based Neural Source Code SummarizationTechnical Technical Papers Jian Zhang Beihang University, Xu Wang Beihang University, Hongyu Zhang University of Newcastle, Australia, Hailong Sun Beihang University, Xudong Liu Beihang University Pre-print | ||
15:54 6mTalk | The Dual Channel HypothesisNIER New Ideas and Emerging Results Casey Casalnuovo University of California at Davis, USA, Earl T. Barr University College London, UK, Santanu Dash University College London, UK, Prem Devanbu University of California, Emily Morgan University of California, Davis |