Return to search

KIRT : uma técnica de leitura baseada em informações-chave e visualização para inspeção de código com suporte computacional

Submitted by Livia Mello (liviacmello@yahoo.com.br) on 2016-09-30T14:28:59Z
No. of bitstreams: 1
TeseAB.pdf: 3344244 bytes, checksum: 730def413199e55b254a6488a3bb47ef (MD5) / Approved for entry into archive by Marina Freitas (marinapf@ufscar.br) on 2016-10-20T16:18:26Z (GMT) No. of bitstreams: 1
TeseAB.pdf: 3344244 bytes, checksum: 730def413199e55b254a6488a3bb47ef (MD5) / Approved for entry into archive by Marina Freitas (marinapf@ufscar.br) on 2016-10-20T16:18:36Z (GMT) No. of bitstreams: 1
TeseAB.pdf: 3344244 bytes, checksum: 730def413199e55b254a6488a3bb47ef (MD5) / Made available in DSpace on 2016-10-20T16:18:44Z (GMT). No. of bitstreams: 1
TeseAB.pdf: 3344244 bytes, checksum: 730def413199e55b254a6488a3bb47ef (MD5)
Previous issue date: 2015-12-10 / Não recebi financiamento / 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. / A inspeção de código é uma importante atividade para garantia da qualidade de software,
mostrando, às vezes, desempenho superior em relação à atividade de teste. Sua aplicação depende da
utilização de técnicas de leitura que auxiliem o inspetor tanto na compreensão do código como na
condução da atividade em si. Apesar de existirem algumas técnicas de leitura de código que dão
suporte à inspeção, a Stepwise Abstraction, por exemplo, foi definida para o paradigma procedimental
e exige que até as partes mais simples sejam abstraídas; outras técnicas como Checklist, Baseada em
Casos de Usos, etc., são suscetíveis à experiência do inspetor, pois não possuem um procedimento
sistemático e, além disso, não contam com recursos facilitadores para sua aplicação. Uma iniciativa de
suporte computacional com o facilitador de visualização agregado à técnica Stepwise Abstraction está
implementada na ferramenta CRISTA, desenvolvida em outro trabalho deste grupo de pesquisa, que
mostrou ser uma abordagem efetiva e eficiente para inspeção de código. Objetivo: Apresentar a
técnica de leitura KIRT (Key-Information Reading Technique) que foi definida por meio de cenários
operacionais, com o propósito de estabelecer diretrizes sistemáticas para realizar inspeção de código.
Ela foi baseada em padrões de leitura extraídos da análise do comportamento de inspetores,
contemplando particularidades do paradigma orientado a objetos, e fazendo uso de metáforas visuais
que guiam o inspetor nas tarefas a serem realizadas. Metodologia: Considerando a necessidade de
compreender como a inspeção de código é realizada na prática, a pesquisa foi baseada por meio de
quatro ciclos investigativos que serviram de base para a definição e para a avalição da técnica de
leitura KIRT. Em cada ciclo executaram-se estudos que geraram resultados parciais que embasaram os
ciclos subsequentes. A técnica KIRT foi definida com o propósito principal de identificação de
defeitos e, adicionalmente, de melhorias no código-fonte. Após definida, três estudos experimentais
foram realizados: (i) para avaliar a contribuição da metáfora visual implementada na CRISTA, para a
identificação de defeitos; (ii) para avaliar a técnica de leitura KIRT usando duas métricas distintas em
relação à efetividade e eficiência na identificação de defeitos e melhorias no código; (iii) para avaliar a
técnica de leitura KIRT usando uma métrica específica em relação à técnica Checklist. Resultados: os
resultados dos experimentos mostraram que (i) a metáfora visual influenciou em um maior número de
melhorias de código identificadas e um menor número de falso-positivos; (ii) a técnica KIRT com as
duas métricas distintas utilizadas são complementares; (iii) a efetividade e eficiência da técnica KIRT
foram melhores que a técnica Checklist da literatura. Conclusão: Nos diferentes estudos em que foi
avaliada, a técnica KIRT apresentou resultado satisfatório em relação à efetividade e eficiência na
identificação de defeitos, gerando baixo número de falso-positivos. Além disso, ela se mostrou efetiva
na identificação de melhorias no código. Com esses resultados pode-se dizer que a técnica KIRT
constitui uma alternativa para a inspeção de código na prática, uma vez que contam com apoio da
CRISTA, que oferece suporte para os procedimentos definidos, com o facilitador de metáforas visuais.
Consequentemente, a aplicação da técnica KIRT pode promover a qualidade geral do software.

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.ufscar.br:ufscar/7973
Date10 December 2015
CreatorsBelgamo, Anderson
ContributorsFabbri, Sandra Camargo Pinto Ferraz
PublisherUniversidade Federal de São Carlos, Câmpus São Carlos, Programa de Pós-graduação em Ciência da Computação, UFSCar
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UFSCAR, instname:Universidade Federal de São Carlos, instacron:UFSCAR
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0036 seconds