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

Vincenzo Musco 1, 2 Martin Monperrus 1 Philippe Preux 2
1 SPIRALS - Self-adaptation for distributed services and large software systems
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
2 SEQUEL - Sequential Learning
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe, LAGIS - Laboratoire d'Automatique, Génie Informatique et Signal
Abstract : 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.
Document type :
Reports
Complete list of metadatas

https://hal.archives-ouvertes.fr/hal-01078716
Contributor : Martin Monperrus <>
Submitted on : Thursday, October 30, 2014 - 7:00:05 AM
Last modification on : Thursday, February 21, 2019 - 10:52:55 AM

Links full text

Identifiers

  • HAL Id : hal-01078716, version 1
  • ARXIV : 1410.7921

Citation

Vincenzo Musco, Martin Monperrus, Philippe Preux. A Generative Model of Software Dependency Graphs to Better Understand Software Evolution. [Technical Report] hal-01078716, Inria. 2014. ⟨hal-01078716⟩

Share

Metrics

Record views

371