Automatic identification of component roles in software design networks
| Authors |
|
|---|---|
| Publication date | 2019 |
| Host editors |
|
| 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 |
|
| ISBN (electronic) |
|
| 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 |
|
| 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 | |