SEOct 29, 2014

A Generative Model of Software Dependency Graphs to Better Understand Software Evolution

arXiv:1410.7921v39 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This work addresses software engineering researchers by providing incremental insights into the topological properties of software systems.

The authors tackled the problem of modeling software dependency graphs to understand software evolution, showing that different Java systems can share the same degree distribution and proposing a generative model that produces graphs with distributions close to empirical data.

Software systems are composed of many interacting elements. A natural way to abstract over software systems is to model them as graphs. In this paper we consider software dependency graphs of object-oriented software and we study one topological property: the degree distribution. Based on the analysis of ten software systems written in Java, we show that there exists completely different systems that have the same degree distribution. Then, we propose a generative model of software dependency graphs which synthesizes graphs whose degree distribution is close to the empirical ones observed in real software systems. This model gives us novel insights on the potential fundamental rules of software evolution.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes