Can Network Analysis Techniques help to Predict Design Dependencies? An Initial Study

08/08/2018
by   J. Andrés Díaz-Pace, et al.
0

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 prediction and machine learning techniques, and assessed their performance for identifying new dependencies from a project version to the next one. The results, although preliminary, show that the link prediction approach is feasible for package dependencies. Also, this work opens opportunities for further development of software-specific strategies for dependency prediction.

READ FULL TEXT
research
08/20/2018

Towards Anticipation of Architectural Smells using Link Prediction Techniques

Software systems naturally evolve, and this evolution often brings desig...
research
05/29/2021

A Longitudinal Analysis of Bloated Java Dependencies

We study the evolution and impact of bloated dependencies in a single so...
research
01/21/2020

A Comprehensive Study of Bloated Dependencies in the Maven Ecosystem

Build automation tools and package managers have a profound influence on...
research
02/16/2023

Automatic Specialization of Third-Party Java Dependencies

Modern software systems rely on a multitude of third-party dependencies....
research
11/15/2016

The NOESIS Network-Oriented Exploration, Simulation, and Induction System

Network data mining has become an important area of study due to the lar...
research
09/06/2023

The Microservice Dependency Matrix

Microservices have been recognized for over a decade. They reshaped syst...
research
03/03/2021

Relate and Predict: Structure-Aware Prediction with Jointly Optimized Neural DAG

Understanding relationships between feature variables is one important w...

Please sign up or login with your details

Forgot password? Click here to reset