Automatic identification of component roles in software design networks

Authors
Publication date 2019
Host editors
  • L.M. Aiello
  • C. Cherifi
  • H. Cherifi
  • R. Lambiotte
  • P. Lió
  • L.M. Rocha
Book title Complex Networks and Their Applications VII
Book subtitle Proceedings The 7th International Conference on Complex Networks and Their Applications COMPLEX NETWORKS 2018
ISBN
  • 9783030054137
ISBN (electronic)
  • 9783030054144
Series Studies in Computational Intelligence
Event The 7th International Conference on Complex Networks and their Applications
Volume | Issue number 2
Pages (from-to) 145-157
Publisher Cham: Springer
Organisations
  • Faculty of Social and Behavioural Sciences (FMG) - Amsterdam Institute for Social Science Research (AISSR)
Abstract
This paper studies the complex network structure of software design networks. In a software design network, each node is a class (a specific part of a piece of software) and each link represents a software code-related dependency between two classes. This work provides two main contributions. First, we reveal how typical software networks exhibit a structure very similar to other real-world networks: they are sparse, scale-free and have low average node-to-node-distances. In addition, we demonstrate how various distance, network clustering and assortativity metrics can provide important insights for software engineers related to software design decisions, coupling and inter-package relationships. Second, we propose a novel network-driven method to automatically determine the role of a software class, a frequently encountered problem by software engineers trying to understand a large-scale software system. We use a role taxonomy from literature which defines six so-called archetypes of software classes, which, once assigned to a class, can provide useful insights for engineers. In this paper we train and validate a model that is able to automatically assess which of these archetypes a class belongs to. Experiments on three unique high quality network datasets of large real-world software systems demonstrate how network features are able to realize high accuracy models for this task.
Document type Conference contribution
Language English
Published at
Other links
Permalink to this page
Back