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 条
  • [21] Java']JavaCompExt: Extracting Architectural Elements from Java']Java Source Code
    Anquetil, Nicolas
    Royer, Jean-Claude
    Andre, Pascal
    Ardourel, Gilles
    Hnetynka, Petr
    Poch, Tomas
    Petrascu, Dragos
    Petrascu, Vladiela
    [J]. 16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 317 - +
  • [22] Code coverage differences of Java']Java bytecode and source code instrumentation tools
    Horvath, Ferenc
    Gergely, Tamas
    Beszedes, Arpad
    Tengeri, David
    Balogh, Gergo
    Gyimothy, Tibor
    [J]. SOFTWARE QUALITY JOURNAL, 2019, 27 (01) : 79 - 123
  • [23] A Systematic Literature Review: Code Bad Smells in Java']Java Source Code
    Gupta, Aakanshi
    Suri, Bharti
    Misra, Sanjay
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2017, PT V, 2017, 10408 : 665 - 682
  • [24] Method Level Text Summarization for Java']Java Code using Nano-Patterns
    Rai, Sawan
    Gaikwad, Tejaswini
    Jain, Sparshi
    Gupta, Atul
    [J]. 2017 24TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2017), 2017, : 199 - 208
  • [25] A Tool for Automated Certification of Java']Java Source Code in Maude
    Alba-Castro, M.
    Alpuente, M.
    Escobar, S.
    Ojeda, P.
    Romero, D.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 248 : 19 - 29
  • [26] Declarative Intraprocedural Flow Analysis of Java']Java Source Code
    Nilsson-Nyman, Emma
    Hedin, Gorel
    Magnusson, Eva
    Ekman, Torbjoern
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 238 (05) : 155 - 171
  • [27] JConstHide: A Framework for Java']Java Source Code Constant Hiding
    Sivadasan, Praveen
    Lal, P. Sojan
    Sivadasan, Naveen
    [J]. JOURNAL OF INFORMATION ASSURANCE AND SECURITY, 2009, 4 (01): : 21 - 29
  • [28] Object-oriented processing of Java']Java source code
    Eichelberger, H
    von Gudenberg, RW
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2004, 34 (12): : 1157 - 1185
  • [29] ESC/Java']Java2 as a tool to ensure security in the source code of Java']Java applications
    Schubert, Aleksy
    Chrzaszcz, Jacek
    [J]. SOFTWARE ENGINEERING TECHNIQUES: DESIGN FOR QUALITY, 2006, 227 : 337 - +
  • [30] Formal methods in context:: Security and Java']Java card
    Bolignano, D
    Le Métayer, D
    Loiseaux, C
    [J]. JAVA ON SMART CARDS: PROGRAMMING AND SECURITY, 2001, 2041 : 1 - 5