Text summarization techniques applied to source code summary generation and evaluation

Abstract. This dissertation explores the use of text summarization technology for generating automatic descriptions of source code artifacts. Firstly, the thesis reports the results of empirical studies aimed at investigating how developers summarize code artifacts when understanding them. These res...

Full description

Autores:
Aponte Melo, Jairo Hernán
Tipo de recurso:
Doctoral thesis
Fecha de publicación:
2012
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/20179
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/20179
http://bdigital.unal.edu.co/10626/
Palabra clave:
0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
Software maintenance
Source code summarization
Program comprehension
Automatic software documentation
Empirical research
Mantenimiento de software
Resumen de código fuente
Comprensión de programas
Documentación automática de software
Investigación empírica
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
Description
Summary:Abstract. This dissertation explores the use of text summarization technology for generating automatic descriptions of source code artifacts. Firstly, the thesis reports the results of empirical studies aimed at investigating how developers summarize code artifacts when understanding them. These results are useful in explaining how developers abstract source code, in gaining insights about the comprehension process, in explaining the role of code elements in such a process, and for the development of automatic source code summarization tools. Secondly, the dissertation describes several approaches for creating short and accurate textual descriptions for various types of code entities. The results of the evaluations indicate that text summarization techniques are suitable for automatic source code summarization since developers generally agree with the summaries produced by the proposed methods. Thus, these summaries can be useful for improving software comprehension processes, which usually occur during software maintenance tasks.