License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/OASIcs.SLATE.2017.3
URN: urn:nbn:de:0030-drops-79398
URL: https://drops.dagstuhl.de/opus/volltexte/2017/7939/
Go to the corresponding OASIcs Volume Portal


Sulír, Matúš ; Porubän, Jaroslav

Generating Method Documentation Using Concrete Values from Executions

pdf-format:
OASIcs-SLATE-2017-3.pdf (0.4 MB)


Abstract

There exist multiple automated approaches of source code documentation generation. They often describe methods in abstract terms, using the words contained in the static source code or code excerpts from repositories. In this paper, we introduce DynamiDoc - a simple yet effective automated documentation approach based on dynamic analysis. It traces the program being executed and records string representations of concrete argument values, a return value, and a target object state before and after each method execution. Then for every concerned method, it generates documentation sentences containing examples, such as "When called on [3, 1.2] with element = 3, the object changed to [1.2]". A qualitative evaluation is performed, listing advantages and shortcomings of the approach.

BibTeX - Entry

@InProceedings{sulr_et_al:OASIcs:2017:7939,
  author =	{Mat{\'u}{\v{s}} Sul{\'i}r and Jaroslav Porub{\"a}n},
  title =	{{Generating Method Documentation Using Concrete Values from Executions}},
  booktitle =	{6th Symposium on Languages, Applications and Technologies (SLATE 2017)},
  pages =	{3:1--3:13},
  series =	{OpenAccess Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-056-9},
  ISSN =	{2190-6807},
  year =	{2017},
  volume =	{56},
  editor =	{Ricardo Queir{\'o}s and M{\'a}rio Pinto and Alberto Sim{\~o}es and Jos{\'e} Paulo Leal and Maria Jo{\~a}o Varanda},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2017/7939},
  URN =		{urn:nbn:de:0030-drops-79398},
  doi =		{10.4230/OASIcs.SLATE.2017.3},
  annote =	{Keywords: documentation generation, source code summarization, methods, dynamic analysis, examples}
}

Keywords: documentation generation, source code summarization, methods, dynamic analysis, examples
Collection: 6th Symposium on Languages, Applications and Technologies (SLATE 2017)
Issue Date: 2017
Date of publication: 04.10.2017


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI