sourcecode documentation often contains summaries of sourcecode written by authors. Recently, automatic source code summarization tools have emerged that generate summaries without requiring author intervention. The...
详细信息
sourcecode documentation often contains summaries of sourcecode written by authors. Recently, automatic source code summarization tools have emerged that generate summaries without requiring author intervention. These summaries are designed for readers to be able to understand the high-level concepts of the sourcecode. Unfortunately, there is no agreed upon understanding of what makes up a "good summary." This paper presents an empirical study examining summaries of sourcecode written by authors, readers, and automatic source code summarization tools. This empirical study examines the textual similarity between sourcecode and summaries of sourcecode using Short Text Semantic Similarity metrics. We found that readers use sourcecode in their summaries more than authors do. Additionally, this study finds that accuracy of a human written summary can be estimated by the textual similarity of that summary to the sourcecode.
Most software engineering tasks require developers to understand parts of the sourcecode. When faced with unfamiliar code, developers often rely on (internal or external) documentation to gain an overall understandin...
详细信息
ISBN:
(纸本)9781467330923
Most software engineering tasks require developers to understand parts of the sourcecode. When faced with unfamiliar code, developers often rely on (internal or external) documentation to gain an overall understanding of the code and determine whether it is relevant for the current task. Unfortunately, the documentation is often absent or outdated. This paper presents a technique to automatically generate human readable summaries for Java classes, assuming no documentation exists. The summaries allow developers to understand the main goal and structure of the class. The focus of the summaries is on the content and responsibilities of the classes, rather than their relationships with other classes. The summarization tool determines the class and method stereotypes and uses them, in conjunction with heuristics, to select the information to be included in the summaries. Then it generates the summaries using existing lexicalization tools. A group of programmers judged a set of generated summaries for Java classes and determined that they are readable and understandable, they do not include extraneous information, and, in most cases, they are not missing essential information.
JSummarizer is an Eclipse plug-in for automatically generating natural language summaries of Java classes. The summary is based on the stereotype of the class, which implicitly encodes the design intent of the class a...
详细信息
ISBN:
(纸本)9781467330923
JSummarizer is an Eclipse plug-in for automatically generating natural language summaries of Java classes. The summary is based on the stereotype of the class, which implicitly encodes the design intent of the class and is automatically inferred by JSummarizer. The tool uses a set of predefined heuristics to determine what information will be reflected in the summary, and it uses natural language processing and generation techniques to form the summary. The generated summaries can be used to re-document the code and to help developers to easier understand large and complex classes.
暂无评论