# Application of Blockchain Technologies in Verification of Software Metrics
## 2 Related Work  
In order to evaluate whether software includes characteristics such as maintainability, testability, comprehensibility, and reusability, software metrics play a key role. Different software metrics evaluate different characteristics, thereby resulting in the necessity for their classification. [PERSON] et al. [5] classify metrics into process metrics (related to the properties of the software development process) and product metrics (related directly to software characteristics). Some of the main challenges in verifying these metrics stem from their reliance on estimates and interpretations, which may vary among developers, as well as on subjective assessments and unauthorized database modifications [6]. [PERSON] and [PERSON] [7] highlight two distinct forms of validation for software metrics: theoretical and empirical. Theoretical validation ensures that measurements do not violate the essential properties of the measured elements, whereas empirical validation confirms the practical consistency of the measured data. Moreover, [PERSON] et al. [8] emphasize that theoretical validation confirms a metric's conceptual integrity, while empirical validation provides evidence of its practical usefulness. Furthermore, [PERSON] et al. [9] propose solutions based on blockchain technology, emphasizing the Proof-of-Work and Proof-of-Stake consensus mechanisms. One significant challenge addressed in their paper is the Byzantine Generals Problem, symbolizing the need for consensus and trust in distributed systems. Blockchain technology effectively resolves this challenge by using consensus mechanisms that ensure data integrity and prevent manipulation [10]. The development of software solutions that integrate blockchain technology opens up space for the development of verifiable and autonomous systems in various fields of application. With increasing demands for transparency and non-repudiation in software systems, blockchain technology is increasingly integrated in various domain-specific applications [11]. In the field of justice, blockchain is integrated into digital evidence management software and e-court cases [12]. By integrating blockchain technology with modern software solutions in the judiciary, immutable records of each process step are achieved, thereby ensuring the reliability of digital documentation [12]. Similar to the judiciary, blockchain is also used in financial and accounting software, where it is used for the realization of self-verifying transactions and for the automation of audit processes [13]. This integration reduces the need for manual intervention and increases compliance with regulatory requirements [13]. [PERSON] et al. [14] propose a methodology for evaluating source code quality and the static behavior of a software system based on the ISO/IEC 9126 standard [14]. The proposed methodology combines automatically generated source code characteristics with expert knowledge, enabling software engineers to assign weight coefficients to different code attributes. However, this work does not define the validation of metric results, which may lead to potential issues. Similar to [PERSON] et al. [14], [PERSON] [15] focuses on various aspects of software quality and testing but does not address the verification of software metric values. As previously mentioned, software metrics have been predominantly developed and validated for compiled, statically typed languages due to their structured nature, well-defined syntax, and wide use in industrial applications. In contrast, scripting languages, characterized by dynamic typing, runtime interpretation, and greater flexibility, present significant challenges for the precise definition, measurement, and verification of software metrics. According to recent studies, dynamically typed languages such as JavaScript and Python introduce complexities in software analysis due to their flexible code structures, runtime polymorphism, and dynamic behaviors, often making traditional metrics inadequate or difficult to apply [16].