UTCS Artificial Intelligence
courses
talks/events
demos
people
projects
publications
software/data
labs
areas
admin
Deep Just-In-Time Inconsistency Detection Between Comments and Source Code (2021)
Sheena Panthaplackel
, Junyi Jessy Li, Milos Gligoric,
Raymond J. Mooney
Natural language comments convey key aspects of source code such as implementation, usage, and pre- and post-conditions. Failure to update comments accordingly when the corresponding code is modified introduces inconsistencies, which is known to lead to confusion and software bugs. In this paper, we aim to detect whether a comment becomes in-consistent as a result of changes to the corresponding body of code, in order to catch potential inconsistencies just-in-time, i.e., before they are committed to a version control system.To achieve this, we develop a deep-learning approach that learns to correlate a comment with code changes. By evaluating on a large corpus of comment/code pairs spanning various comment types, we show that our model outperforms multiple baselines by significant margins. For extrinsic evaluation, we show the usefulness of our approach by combining it with a comment update model to build a more comprehensive automatic comment maintenance system that can both detect and resolve inconsistent comments based on code changes.
View:
PDF
,
Arxiv
,
Other
Citation:
In
The AAAI Conference on Artificial Intelligence (AAAI)
, Vol. arXiv:2010.01625, February 2021.
Bibtex:
@inproceedings{panthaplackel:aaai21, title={Deep Just-In-Time Inconsistency Detection Between Comments and Source Code}, author={Sheena Panthaplackel and Junyi Jessy Li and Milos Gligoric and Raymond J. Mooney}, booktitle={The AAAI Conference on Artificial Intelligence (AAAI)}, volume={arXiv:2010.01625}, month={February}, url="http://www.cs.utexas.edu/users/ai-labpub-view.php?PubID=127853", year={2021} }
Presentation:
Slides (PDF)
Poster
Video
People
Raymond J. Mooney
Faculty
mooney [at] cs utexas edu
Sheena Panthaplackel
Ph.D. Alumni
spantha [at] cs utexas edu
Areas of Interest
Natural Language for Software Engineering
Labs
Machine Learning