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

Copyright Owner and License

Authors-CC-BY

Additional URL

https://doi.org/10.1007/s10664-023-10397-6

Share

COinS