Publication Type
Journal Article
Version
acceptedVersion
Publication Date
2-2024
Abstract
Outdated documentation is a pervasive problem in software development, preventing effective use of software, and misleading users and developers alike. We posit that one possible reason why documentation becomes out of sync so easily is that developers are unaware of when their source code modifications render the documentation obsolete. Ensuring that the documentation is always in sync with the source code takes considerable effort, especially for large codebases. To address this situation, we propose an approach that can automatically detect code element references that survive in the documentation after all source code instances have been deleted. In this work, we analysed over 3,000 GitHub projects and found that most projects contain at least one outdated code element reference at some point in their history. We submitted GitHub issues to real-world projects containing outdated references detected by our approach, some of which have already led to documentation fixes. As an initiative toward keeping documentation in software repositories up-to-date, we have made our implementation available for developers to scan their GitHub projects for outdated code element references.
Keywords
Software repositories, outdated documentation, outdated references, code elements
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Empirical Software Engineering
Volume
29
Issue
1
First Page
1
Last Page
25
ISSN
1382-3256
Identifier
10.1007/s10664-023-10397-6
Publisher
Springer
Citation
TAN, Wen Siang; WAGNER, Markus; and TREUDE, Christoph.
Detecting outdated code element references in software repository documentation. (2024). Empirical Software Engineering. 29, (1), 1-25.
Available at: https://ink.library.smu.edu.sg/sis_research/8759
Copyright Owner and License
Authors-CC-BY
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1007/s10664-023-10397-6