Capturing and understanding the drift between design, implementation, and documentation
Additional information
Authors
Romeo J.,
Raglianti M.,
Nagy C.,
Lanza M.
Type
Article in conference proceedings
Year
2024
Language
English
Abstract
UML artifacts constitute a key (but often neglected) asset supporting the comprehension of a system. Design documents "bind" developers in implementation phases and close the loop as documentation of the implemented system itself. Nevertheless, the intended system (design), its current version (implementation), and its documentation, naturally tend to drift apart, negatively impacting the usefulness of UML diagrams contained in such artifacts. We present a novel approach to capture and understand the Design-Implementation-Documentation (DID) drift. We connect UML references in human-readable text-based UML formats (e.g., PlantUML) to the corresponding source code entities (e.g., Java classes), implementing novel metrics to capture the UML coverage of the system. We analyze project and file coverage evolution across releases and commits, with overall, method-level, and attributelevel detailedness, showing how they support DID drift analysis. We present interesting case studies exemplifying how through Drifter, the visual exploration tool we developed to validate our approach, we identify DID drift and ways to tackle it in the future.
Keywords
Design implementation documentation drift, DID drift, UML
Conference proceedings
Proceedings of the 32nd IEEE/ACM International Conference on Program Comprehension (ICPC '24)
Pages (or article number)
382–386
Diffusion
License
License undefined
Visibility
Public
Status open access
Green