A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION / UMA ABORDAGEM SENSÍVEL À HISTÓRIA PARA DETECÇÃO DE ANOMALIAS DE CÓDIGO

AUTOR(ES)
DATA DE PUBLICAÇÃO

2010

RESUMO

The modularization of the code can directly influence the software maintainability. Therefore, researchers have proposed mechanisms to contribute to the identification of potential modularity anomalies in source code. In this context, a mechanism based on metrics that have been widespread are the detection strategies. Commonly, they are based on metrics that consider only properties of isolated versions of the systems. However, recent studies have reported that these strategies have been considered counter-productive. Our research is related to the investigation of the possible benefits of considering information about the code evolution to detect anomalies. In this context, this paper proposes a set of metrics and detection strategies that consider historic properties of the code evolution. Furthermore, a measuring and assessing tool to support the approach was also developed. This tool allows the declarative specifcation of different detection strategies through a domain-specific language. This fact meets the particular needs of developers in setting strategies and dispose to researchers an opportune environment to detection strategies experimentations. Also as a contribution of this research is presented an evaluation of strategies in terms of precision and recall in two systems of different domains. Results of conventional strategies and of history-sensitive strategies are compared in detections of classical modularity flaws, such as God Class, Divergent Change and Shotgun Surgery in a total of 16 versions of these systems. Results of this study showed that the use of information related to the code evolution can provide important contributions to detect design flaws in code.

ASSUNTO(S)

sistema system engenharia de software software engineering metrica metric

Documentos Relacionados