  Computing devices and associated software govern everyday life, and form the
backbone of safety critical systems in banking, healthcare, automotive and
other fields. Increasing system complexity, quickly evolving technologies and
paradigm shifts have kept software quality research at the forefront. Standards
such as ISO's 25010 express it in terms of sub-characteristics such as
maintainability, reliability and security. A significant body of literature
attempts to link these subcharacteristics with software metric values, with the
end goal of creating a metric-based model of software product quality. However,
research also identifies the most important existing barriers. Among them we
mention the diversity of software application types, development platforms and
languages. Additionally, unified definitions to make software metrics truly
language-agnostic do not exist, and would be difficult to implement given
programming language levels of variety. This is compounded by the fact that
many existing studies do not detail their methodology and tooling, which
precludes researchers from creating surveys to enable data analysis on a larger
scale. In our paper, we propose a comprehensive study of metric values in the
context of three complex, open-source applications. We align our methodology
and tooling with that of existing research, and present it in detail in order
to facilitate comparative evaluation. We study metric values during the entire
18-year development history of our target applications, in order to capture the
longitudinal view that we found lacking in existing literature. We identify
metric dependencies and check their consistency across applications and their
versions. At each step, we carry out comparative evaluation with existing
research and present our results.
