Software Metrics Selection – The Case of C#
Zamira Kholmatova, Artur Zagitov, Ildar Zalialiev · 2024
This study focuses on identifying a minimal subset of metrics that effectively represent the geometric structure of software repositories. Using metric collection tools, it analyzes C# repositories to collect various metrics, including procedural and OO metrics. A total of 54 metrics (40 class-level, 14 method-level) are collected. The study employs dimensionality reduction techniques, using Sammon's error function and Kruskal's stress function, optimized through Particle swarm optimization and Genetic algorithm. The results demonstrate that a subset of 7–10 class-level and 5–6 method-level metrics can effectively reduce error levels, representing the structural properties of the repositories accurately. This finding is validated using hypothesis testing on a separate validation set.