# The Gap between the Admitted and the Measured Technical Debt: An Empirical Study
## 2 The State-of-the-Art While Measuring Technical Debt
### The SQALE Method and Related Tools  
The SQALE (Software Quality Assessment based on Life-Cycle Expectations) method is used to estimate the quality and technical debt within software quality assessment [20]. The method is based on nine principles, which are presented in the _SQALE Definition Document_[21]. The SQALE uses the standard ISO 25010 quality model, resulting in nine characteristics to measure [21]:  
* Reusability,
* Portability,
* Maintainability,
* Security,
* Usability,
* Efficiency,
* Changeability,
* Reliability, and
* Testability. The method links sub-characteristics to a set of non-functional requirements [21]. Since the input to the SQALE method is a software source code, all of the included requirements have to be considered via the programming language's specific set of rules [21]. The method defines the SQALE Quality Index (SQI), the remediation index connected to the quality model's characteristics [20]. When analysing each element using the SQALE method, different characteristic indices are used: SQALE Testability, Reliability, Changeability, Efficiency, Usability, Security, Maintainability, Portability, and Reusability Indices [20]. Their aggregation into the SQI uses simple summarising, since all indices are normalised to an effort-based measure. This is how SQALE indices represents costs [21]. The SQALE method also defines different indicators to represent technical debt visually; e.g, _\"Rating indicator\"_ uses five or more values (_\"A\"_-\"E\"_) to visualise product quality level [21]. This is the basis for the product ratings in SonarQube [22]: \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Method** & **Quality Model** & **Remediation Costs Input** & **Target Level** & **Non-Remediation Costs** & **The Elasticity to Change** & **Tool Support** \\ \hline \multirow{3}{*}{SQALE} & \multirow{3}{*}{ISO 25010} & Raw source & \multirow{3}{*}{The best possible} & & \multirow{3}{*}{Yes} & \multirow{3}{*}{Yes} \\  & & & & & & \\ \cline{1-1} \cline{5-5}  & & & & & & \\ \cline{1-1} \cline{5-5}  & & & & & & \\ \hline \multirow{2}{*}{CAST} & \multirow{2}{*}{Custom} & Raw source & \multirow{2}{*}{Desired quality level} & \multirow{2}{*}{No} & \multirow{2}{*}{Yes} & \multirow{2}{*}{CAST AIP} \\  & & & & & & \\ \hline \multirow{2}{*}{SIG} & \multirow{2}{*}{ISO 9126-1} & Reviewed and verified data & \multirow{2}{*}{Desired quality level} & \multirow{2}{*}{Yes} & \multirow{2}{*}{No} & \multirow{2}{*}{
\begin{tabular}{} \end{tabular} } \\  & & & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Leading methods and tools for measuring technical debt. * Rating **A**--technical debt is less than 5%,
* Rating **B**--technical debt is between 6% and 10%,
* Rating **C**--technical debt is between 11% and 20%,
* Rating **D**--technical debt is between 21% and 50%,
* Rating **E**--technical debt is more than 50%. In contrast, the technical debt ratio is expressed as a _remediation effort/development effort_[22]. As demonstrated in Table 1, various tools implement the SQALE method. Among the most advanced and frequently used platforms are SonarQube [23] and Vector Squore [24]. SonarQube [23] is an automatic code review platform, developed by SonarSource. It is designed to perform automated checks continuously. Static code analysis is supported by rules for detecting bugs, code smells, and security vulnerabilities in more than 20 programming languages. In addition, the technical debt measurement is also supported, showing the technical debt type, its severity, and its status. A detailed view of an individual debt also displays critical files and suggests improvements, offering help in technical debt remediation. Vector Squore [24] supports augmented analytics in several programming languages. It can be used for quality management support with functionalities for bugs and vulnerability overview, technical debt measurement, and exposing files with a high vulnerability.