vix.ing · top · new · best · stats · spec

A Neural Model for Generating Natural Language Summaries of Program\n Subroutines

2019/02/05 by Alexander LeClair, LeClair, Alexander, Siyuan Jiang +3 · 6 citations
Computer Science · #FOS: Computer and information sciences #Software Engineering (cs.SE) #Software Engineering Research #Software Reliability and Analysis Research #Software Testing and Debugging Techniques

paper · pdf · doi:10.48550/arxiv.1902.01954

openalex publication_date 2019/02/05 · openalex created_date 2022/07/29 · openalex updated_date 2026/07/28

Abstract

Source code summarization -- creating natural language descriptions of source\ncode behavior -- is a rapidly-growing research topic with applications to\nautomatic documentation generation, program comprehension, and software\nmaintenance. Traditional techniques relied on heuristics and templates built\nmanually by human experts. Recently, data-driven approaches based on neural\nmachine translation have largely overtaken template-based systems. But nearly\nall of these techniques rely almost entirely on programs having good internal\ndocumentation; without clear identifier names, the models fail to create good\nsummaries. In this paper, we present a neural model that combines words from\ncode with code structure from an AST. Unlike previous approaches, our model\nprocesses each data source as a separate input, which allows the model to learn\ncode structure independent of the text in code. This process helps our approach\nprovide coherent summaries in many cases even when zero internal documentation\nis provided. We evaluate our technique with a dataset we created from 2.1m Java\nmethods. We find improvement over two baseline techniques from SE literature\nand one from NLP literature.\n

Cited by

Related