Automatic Source Code Summarization of Context for Java']Java Methods

被引:109
|
作者
McBurney, Paul W. [1 ]
McMillan, Collin [2 ]
机构
[1] Univ Notre Dame, Coll Comp Sci & Engn, Notre Dame, IN 46556 USA
[2] Univ Notre Dame, Comp Sci, South Bend, VA USA
关键词
Source code summarization; automatic documentation; program comprehension; SOFTWARE; DOCUMENTATION;
D O I
10.1109/TSE.2015.2465386
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Source code summarization is the task of creating readable summaries that describe the functionality of software. Source code summarization is a critical component of documentation generation, for example as Javadocs formed from short paragraphs attached to each method in a Java program. At present, a majority of source code summarization is manual, in that the paragraphs are written by human experts. However, new automated technologies are becoming feasible. These automated techniques have been shown to be effective in select situations, though a key weakness is that they do not explain the source code's context. That is, they can describe the behavior of a Java method, but not why the method exists or what role it plays in the software. In this paper, we propose a source code summarization technique that writes English descriptions of Java methods by analyzing how those methods are invoked. We then performed two user studies to evaluate our approach. First, we compared our generated summaries to summaries written manually by experts. Then, we compared our summaries to summaries written by a state-of-the-art automatic summarization tool. We found that while our approach does not reach the quality of human-written summaries, we do improve over the state-of-the-art summarization tool in several dimensions by a statistically-significant margin.
引用
收藏
页码:103 / 119
页数:17
相关论文
共 50 条
  • [1] AUTOMATIC DETECTING AND REMOVING CLONES IN JAVA']JAVA SOURCE CODE
    Bublik, Tomas
    Virius, Miroslav
    [J]. SOFTWARE DEVELOPMENT 2011, 2011, : 10 - 18
  • [2] Automatic certification of Java']Java source code in rewriting logic
    Alba-Castro, Mauricio
    Alpuente, Maria
    Escobar, Santiago
    [J]. FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2008, 4916 : 200 - 217
  • [3] An Eye-Tracking Study of Java']Java Programmers and Application to Source Code Summarization
    Rodeghero, Paige
    Liu, Cheng
    McBurney, Paul W.
    McMillan, Collin
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (11) : 1038 - 1054
  • [4] Automatic assessment of Java']Java code
    Insa, David
    Silva, Josep
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2018, 53 : 59 - 72
  • [5] Java']JavaML: a markup language for Java']Java source code
    Badros, GJ
    [J]. COMPUTER NETWORKS, 2000, 33 (1-6) : 159 - 177
  • [6] Java']Java Source Code Defect Detection
    Zhu, Hong
    Jin, Dahai
    [J]. 2015 8TH INTERNATIONAL CONFERENCE ON BIOMEDICAL ENGINEERING AND INFORMATICS (BMEI), 2015, : 695 - 699
  • [7] Automatic Annotation of Confidential Data in Java']Java Code
    Bastys, Iulia
    Bolignano, Pauline
    Raimondi, Franco
    Schoepe, Daniel
    [J]. FOUNDATIONS AND PRACTICE OF SECURITY, FPS 2021, 2022, 13291 : 146 - 161
  • [8] Refactoring Java']Java Code for Automatic API Generation
    Liu, Genggeng
    Hu, Chuanshumin
    Chen, Shihong
    Zhang, Ying
    Chen, Xing
    [J]. 2018 INTERNATIONAL CONFERENCE ON CLOUD COMPUTING, BIG DATA AND BLOCKCHAIN (ICCBB 2018), 2018, : 114 - 119
  • [9] Toward Automatic Summarization of Arbitrary Java']Java Statements for Novice Programmers
    Hassan, Mohammed
    Hill, Emily
    [J]. PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, : 539 - 543
  • [10] Automatic Quality Assessment of Source Code Comments: The Java']JavadocMiner
    Khamis, Ninus
    Witte, Rene
    Ruling, Juergen
    [J]. NATURAL LANGUAGE PROCESSING AND INFORMATION SYSTEMS, 2010, 6177 : 68 - 79