## 4 Results
### Answers to the Questions of Context and Research Approach
#### 4.1.3 Questions about Maintenance
\begin{table}
\begin{tabular}{l l l} \hline \hline
**Name** & **Acronym** & **Details** \\ \hline Cyclomatic complexity & Cyclo & P65, P67 \\ \hline \multirow{3}{*}{Smells in code} & \multirow{3}{*}{Code smells} & P04, P06, P11, P14, P15, P17, P20, P21, P24, \\  & & P25, P29, P30, P32, P40, P43, P46, P47, P48, \\  & & P56, P60, P61, P62, P65, P67, P68, P77 \\ \hline Test Coverage & Coverage & P20 \\ \hline Duplicate code & CC & P01, P03, P13, P18, P30 \\ \hline \multirow{2}{*}{Lines of code} & \multirow{2}{*}{KLOC} & P35, P38, P47, P54, P61, P62, P63, P54, P67, \\  & & P68, P70, P75, P76, P78 \\ \hline Code error/defects & Defects & P02, P09, P10, P12, P16, P19, P22, P26, P27 \\ \hline Deep inheritance & DIT & P33, P34, P35, P38, P47, P61, P67 \\ \hline Weighted methods & \multirow{2}{*}{WMC} & P35, P38, P54, P61, P63, P65, P67 \\ per class & & & \\ \hline Number of children & \multirow{2}{*}{NOC} & P20, P35, P38, P47, P54, P61, P63, P67 \\ \hline Coupling & \multirow{2}{*}{CBO} & P35, P54, P61, P67 \\ between objects & & & \\ \hline Lack of cohesion & \multirow{2}{*}{LCOM} & P35, P38, P54, P61, P62, P67 \\ \hline \multirow{3}{*}{Unspecified} & \multirow{3}{*}{\(-\)} & P05, P07, P08, P23, P28, P31, P36, P37, P39, \\  & & P41, P42, P44, P45, P49, P50, P51, P52, P53, \\ \cline{1-1}  & & P55, P57, P58, P59, P64, P66, P69, P71, P72, \\ \cline{1-1}  & & P73, P74, P79, P80, P81 \\ \hline \hline \end{tabular}
\end{table} 
Table 9: Details of identified metrics. **RQ-M3: What kinds of maintenance problems were studied? **  
Given the classification provided by Swebok in 2014 [1], the selected articles mainly addressed technical problems (78%) related to maintenance, corrections, correction predictions, impact analyses, and others. Conversely, the management of maintenance issues was relegated to a distant second place in relevance with 2.5%. It should be noted that few studies considered other topics related to the costs and incorporation of metrics (see Table 10). **RQ-M4: What type of maintenance technique was studied? **  
The classification diagram proposed by Swebok for maintenance techniques suggests four general types of techniques: those related to understanding the software, re-engineering, reverse engineering, migration, and, finally, removal. Of the 81 articles selected, around 73% used techniques and support strategies to understand the software while considering improvements in style, good practices, and other aspects (see Figure 12). Additionally, 27% of the reviewed articles addressed re-engineering as a central strategy for performing some type of preferably preventive maintenance. It should be noted that no studies that addressed reverse engineering, migration, or removal were identified. **RQ-M5: What are the most commonly used maintenance tools? **  
The tools reported included code-source static analysis and dependency analysis. Of the selected studies, 14.8% (12) mentioned the use of static analysis, whereas the use of dependency analysis (1.2%) and program slicers (1.2%) was equally distributed. On the other hand, a significant 82.7% (67) of the articles did not report the use of any maintenance tools despite addressing mainly technical maintenance issues (Figure 10).