Metrics Driven Architectural Analysis using Dependency Graphs for C Language Projects
Devansh Tiwari, Hironori Washizaki, Yoshiaki Fukazawa, Tomoyuki Fukuoka, Junji Tamaki, Nobuhiro Hosotani, Munetaka Kohama · 2019
The highest share of cost for a software product is software maintenance. Identifying the quality merit of the software architecture is extremely vital as the quality directly relates to software maintenance. A good design always exhibits good quality characteristics because it is directly related to good architecture. Although C language is a major language in the software industry, few studies investigate the quality of the architecture in C language. This study aims to evaluate the quality of C language projects in a quantifiable form by focusing on dependency graphs, associated metrics, and software architecture. In particular, this study (i) formulates the architecture representation of C projects, (ii) determines the metrics capturing the quality of architecture, (iii) defines code smell and metrics relations and (iv) conducts an empirical analysis on 58 C projects. We show which metrics derived from dependency graphs can detect architectural issues and verify their relation to software architecture quality.