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 https://doi.org/10.1007/978-3-030-05414-4_12
Other links https://www.scopus.com/pages/publications/85058508831
Permalink to this page
Back