Résumé·s
La documentation des programmes aide les développeurs à mieux comprendre le code source pendant les tâches de maintenance. Toutefois, la documentation n’est pas toujours disponible ou elle peut être de mauvaise qualité. Le recours à la redocumentation s’avère ainsi nécessaire.
Dans ce contexte, nous proposons de faire la redocumentation en générant des commentaires par application de techniques de résumé par extraction.
Pour mener à bien cette tâche, nous avons commencé par faire une étude empirique pour étudier les aspects quantitatifs et qualitatifs des commentaires. En particulier, nous nous sommes intéressés à l’étude de la distribution des commentaires par rapport aux différents types d’instructions et à la fréquence de documentation de chaque type. Aussi, nous avons proposé une taxonomie de commentaires pour classer les commentaires selon leur contenu et leur qualité.
Suite aux résultats de l’étude empirique, nous avons décidé de résumer les classes Java par extraction des commentaires des méthodes/constructeurs. Nous avons défini plusieurs heuristiques pour déterminer les commentaires les plus pertinents à l’extraction. Ensuite, nous avons appliqué ces heuristiques sur les classes Java de trois projets pour en générer les résumés. Enfin, nous avons comparé les résumés produits (les commentaires produits) à des résumés références (les commentaires originaux) en utilisant la métrique ROUGE.
Programs documentation is very useful to programmers during maintenance tasks, especially for program comprehension. However, the documentation is not always available or it may be badly written. In such cases, redocumentation becomes so necessary.
In this work, we propose a redocumentation technique that consists in generating comments by using extraction summary techniques.
For this purpose, we conducted an empirical study to analyze the quantitave and qualitative aspects of comments. Particularly, we were interested in studying comment distribution over different types of construct and studying the frequency of documentation for each construct type. We propose a comment taxonomy to classify them according to their content and quality.
Given the results of the empirical study, we decided to summarize Java classes by extracting the comments of methods and constructors. We defined several heuristics in order to determine the most relevant comments to be extracted. After that, we applied these heuristics to Java classes from three projects in order to generate summaries. Finally, we compared the generated summaries (generated comments) to the reference ones (original comments) by using the metric ROUGE.