Staff View
CPC: automatically classifying and propagating natural language comments via program analysis

Descriptive

TypeOfResource
Text
TitleInfo
Title
CPC: automatically classifying and propagating natural language comments via program analysis
Name (type = personal)
NamePart (type = family)
Zhai
NamePart (type = given)
Juan
Affiliation
Computer Science (New Brunswick), Rutgers University
Role
RoleTerm (authority = marcrt); (type = text)
author
Name (type = personal)
NamePart (type = family)
Xu
NamePart (type = given)
Xiangzhe
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Nanjing University
Name (type = personal)
NamePart (type = family)
Shi
NamePart (type = given)
Yu
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Purdue University
Name (type = personal)
NamePart (type = family)
Tao
NamePart (type = given)
Guanhong
Affiliation
Purdue University
Role
RoleTerm (authority = marcrt); (type = text)
author
Name (type = personal)
NamePart (type = family)
Pan
NamePart (type = given)
Minxue
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Nanjing University
Name (type = personal)
NamePart (type = family)
Ma
NamePart (type = given)
Shiqing
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Computer Science (New Brunswick), Rutgers University
Name (type = personal)
NamePart (type = family)
Xu
NamePart (type = given)
Lei
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Nanjing University
Name (type = personal)
NamePart (type = family)
Zhang
NamePart (type = given)
Weifeng
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Nanjing University of Posts and Telecommunications
Name (type = personal)
NamePart (type = family)
Tan
NamePart (type = given)
Lin
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Purdue University
Name (type = personal)
NamePart (type = family)
Zhang
NamePart (type = given)
Xiangyu
Role
RoleTerm (authority = marcrt); (type = text)
author
Affiliation
Purdue University
Name (authority = RutgersOrg-Department); (type = corporate)
NamePart
Computer Science (New Brunswick)
Name (authority = RutgersOrg-School); (type = corporate)
NamePart
School of Arts and Sciences (SAS) (New Brunswick)
Genre (authority = RULIB-FS)
Conference Paper or Lecture
Genre (authority = NISO JAV)
Accepted Manuscript (AM)
Note (type = peerReview)
Peer reviewed
OriginInfo
DateCreated (encoding = w3cdtf); (keyDate = yes); (qualifier = exact)
2020
Language
LanguageTerm (authority = ISO 639-3:2007); (type = text)
English
PhysicalDescription
InternetMediaType
application/pdf
Extent
1 online resource (13 pages) : illustrations
Abstract (type = abstract)
Code comments provide abundant information that have been lever-aged to help perform various software engineering tasks, such as bug detection, specification inference, and code synthesis. However,developers are less motivated to write and update comments, making it infeasible and error-prone to leverage comments to facilitate software engineering tasks. In this paper, we propose to leverage 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 fine-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.
Extension
DescriptiveEvent
Type
Citation
DateTime (encoding = w3cdtf)
2020
AssociatedObject
Type
Journal
Relationship
Has part
Name
42nd International Conference on Software Engineering (ICSE '20)
Reference (type = url)
https://doi.org/10.1145/3377811.3380427
RelatedItem (type = host)
TitleInfo
Title
Zhai, Juan
Identifier (type = local)
rucore30270200001
Location
PhysicalLocation (authority = marcorg); (displayLabel = Rutgers, The State University of New Jersey)
NjNbRU
Identifier (type = doi)
doi:10.7282/t3-nsjs-4386
Genre (authority = ExL-Esploro)
Accepted Manuscript
Back to the top

Rights

RightsDeclaration (AUTHORITY = FS); (TYPE = [FS] statement #1); (ID = rulibRdec0004)
Copyright for scholarly resources published in RUcore is retained by the copyright holder. By virtue of its appearance in this open access medium, you are free to use this resource, with proper attribution, in educational and other non-commercial settings. Other uses, such as reproduction or republication, may require the permission of the copyright holder.
Copyright
Status
Copyright protected
Availability
Status
Open
Reason
Permission or license
RightsEvent
Type
Permission or license
AssociatedObject
Type
License
Name
Multiple author license v. 1
Detail
I hereby grant to Rutgers, The State University of New Jersey (Rutgers) the non-exclusive right to retain, reproduce, and distribute the deposited work (Work) in whole or in part, in and from its electronic format, without fee. This agreement does not represent a transfer of copyright to Rutgers.Rutgers may make and keep more than one copy of the Work for purposes of security, backup, preservation, and access and may migrate the Work to any medium or format for the purpose of preservation and access in the future. Rutgers will not make any alteration, other than as allowed by this agreement, to the Work.I represent and warrant to Rutgers that the Work is my original work. I also represent that the Work does not, to the best of my knowledge, infringe or violate any rights of others.I further represent and warrant that I have obtained all necessary rights to permit Rutgers to reproduce and distribute the Work and that any third-party owned content is clearly identified and acknowledged within the Work.By granting this license, I acknowledge that I have read and agreed to the terms of this agreement and all related RUcore and Rutgers policies.
Back to the top

Technical

RULTechMD (ID = TECHNICAL1)
ContentModel
Document
CreatingApplication
Version
1.7
DateCreated (point = end); (encoding = w3cdtf); (qualifier = exact)
2019-11-05T16:52:50
DateCreated (point = end); (encoding = w3cdtf); (qualifier = exact)
2019-11-05T16:52:50
ApplicationName
pdfTeX-1.40.17
Back to the top
Version 8.3.13
Rutgers University Libraries - Copyright ©2020