KIRT : uma técnica de leitura baseada em informações-chave e visualização para inspeção de código com suporte computacional - Belgamo, Anderson (Universidade Federal de São Carlos, 2015)
Code inspection is an important activity to assure the software quality that, in some cases, shows a better performance than the testing activity. Its application depends on the use of reading techniques that assist the inspector both in understanding the code and in executing the inspection. Although there are some reading techniques that support code inspection, Stepwise Abstraction, for example, was set to the procedural paradigm and requires that even the simplest code be abstracted. Other techniques such as Checklist, Use Case based, etc., are prone to the inspector’s experience since they do not provide a systematic procedure and they are not supported by facilitating resources. A computer-aided code inspection providing visualization facilities for applying Stepwise Abstraction – the CRISTA tool - was developed in another work of this research group. This tool has shown to be an effective and efficient approach for code inspection. Objective: To present the reading technique KIRT (Key-Information Reading Techniques) that was defined through operational scenarios, in order to establish systematic guidelines for conducting the code inspection. KIRT was based on reading patterns obtained from the analysis of the inspectors’ behaviors, considering features of the object-oriented paradigm, and using visual metaphors that guide the inspector during the inspection. Method: Considering the intention of understanding how the code inspection is carried out in practice, the research was based evolutive cycles, performed through four cycles that were the basis for defining and evaluating KIRT. In each cycle, studies were performed to generate subsidies for supporting subsequent cycles. The KIRT technique was set with the main purpose of identifying defects and, in addition, source code improvements. Once defined, three experimental studies were conducted to: (i) evaluate the contribution of the visual metaphor implemented in CRISTA tool for defects identification; (ii) evaluate KIRT technique (using two different metrics) regarding the effectiveness and efficiency in the identification of defects and source code improvements; (iii) evaluate KIRT technique in relation to the Checklist technique. Results: The results of the experimental studies showed that (i) the visual metaphor influenced the number of source code improvements and false positives identified; (ii) KIRT technique (instantiated by two distinct metrics) was complementary; (iii) the effectiveness and efficiency of the KIRT technique were better than Checklist. Conclusion: In the experimental studies the KIRT technique showed satisfactory results regarding the effectiveness and efficiency in identifying defects, and generated few false positives. Moreover, the KIRT technique identified more source code improvements than Checklist. Based on the results we can say that KIRT technique can be used for code inspection in practice, mainly because they are supported by CRISTA, which provides procedures and visual metaphors for conducting the code inspection activity. Consequently, if they reach the objective of identifying defects, we can say that they contribute to the overall quality of the software.
Keywords: Inspeção de código; Técnicas de leitura; Visualização; Engenharia de software experimental; Code inspection; Techniques; Visualization; Experimental software enginnring; CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO