Authors:
Jessica Moore
;
Ben Gelman
and
David Slater
Affiliation:
Machine Learning Group, Two Six Labs, Arlington, Virginia and U.S.A.
Keyword(s):
Natural Language Processing, Deep Learning, Source Code, Crowdsourcing, Automatic Documentation.
Related
Ontology
Subjects/Areas/Topics:
Artificial Intelligence
;
Knowledge Engineering
;
Knowledge Engineering and Ontology Development
;
Knowledge-Based Systems
;
Software Engineering
;
Symbolic Systems
Abstract:
Descriptive comments play a crucial role in the software engineering process. They decrease development time, enable better bug detection, and facilitate the reuse of previously written code. However, comments are commonly the last of a software developer’s priorities and are thus either insufficient or missing entirely. Automatic source code summarization may therefore have the ability to significantly improve the software development process. We introduce a novel encoder-decoder model that summarizes source code, effectively writing a comment to describe the code’s functionality. We make two primary innovations beyond current source code summarization models. First, our encoder is fully language-agnostic and requires no complex input preprocessing. Second, our decoder has an open vocabulary, enabling it to predict any word, even ones not seen in training. We demonstrate results comparable to state-of-the-art methods on a single-language data set and provide the first results on a d
ata set consisting of multiple programming languages.
(More)