Can Network Analysis Techniques help to Predict Design Dependencies? An Initial Study
J. Andr\'es D\'iaz-Pace, Antonela Tommasel, Daniela Godoy

TL;DR
This study explores the potential of network analysis and link prediction techniques to forecast software module dependencies before they occur, aiming to aid developers in proactive maintenance and refactoring.
Contribution
It introduces a novel approach applying network features and link prediction methods to predict software dependencies, which has not been extensively explored before.
Findings
Link prediction shows feasibility for package dependency forecasting.
Preliminary results indicate potential for early dependency detection.
Opens avenues for developing software-specific dependency prediction strategies.
Abstract
The degree of dependencies among the modules of a software system is a key attribute to characterize its design structure and its ability to evolve over time. Several design problems are often correlated with undesired dependencies among modules. Being able to anticipate those problems is important for developers, so they can plan early for maintenance and refactoring efforts. However, existing tools are limited to detecting undesired dependencies once they appeared in the system. In this work, we investigate whether module dependencies can be predicted (before they actually appear). Since the module structure can be regarded as a network, i.e, a dependency graph, we leverage on network features to analyze the dynamics of such a structure. In particular, we apply link prediction techniques for this task. We conducted an evaluation on two Java projects across several versions, using link…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
