Analyzing the co-evolution of comments and source code
Autor: | Emanuel Giger, Beat Fluri, Michael Würsch, Harald C. Gall |
---|---|
Přispěvatelé: | University of Zurich, Fluri, B |
Rok vydání: | 2009 |
Předmět: |
Source code changes
Source code Comment quality 10009 Department of Informatics Computer science media_common.quotation_subject Comment changes Static program analysis 000 Computer science knowledge & systems computer.software_genre Software repositories World Wide Web Internal documentation 2213 Safety Risk Reliability and Quality Docstring Software maintenance Safety Risk Reliability and Quality media_common Codebase Code review Programming language Code smell 1712 Software KPI-driven code analysis computer Software Software evolution analysis |
DOI: | 10.5167/uzh-25777 |
Popis: | Source code comments are a valuable instrument to preserve design decisions and to communicate the intent of the code to programmers and maintainers. Nevertheless, commenting source code and keeping comments up-to-date is often neglected for reasons of time or programmers obliviousness. In this paper, we investigate the question whether developers comment their code and to what extent they add comments or adapt them when they evolve the code. We present an approach to associate comments with source code entities to track their co-evolution over multiple versions. A set of heuristics are used to decide whether a comment is associated with its preceding or its succeeding source code entity. We analyzed the co-evolution of code and comments in eight different open source and closed source software systems. We found with statistical significance that (1) the relative amount of comments and source code grows at about the same rate; (2) the type of a source code entity, such as a method declaration or an if-statement, has a significant influence on whether or not it gets commented; (3) in six out of the eight systems, code and comments co-evolve in 90% of the cases; and (4) surprisingly, API changes and comments do not co-evolve but they are re-documented in a later revision. As a result, our approach enables a quantitative assessment of the commenting process in a software system. We can, therefore, leverage the results to provide feedback during development to increase the awareness of when to add comments or when to adapt comments because of source code changes. |
Databáze: | OpenAIRE |
Externí odkaz: |