Evaluate How Cyclomatic Complexity Changes in the Context of Software Evolution

Huihui Liu,Xufang Gong,Li Liao,Bixin Li
DOI: https://doi.org/10.1109/compsac.2018.10332
2018-01-01
Abstract:Cyclomatic complexity (CC) is often used as a factor to evaluate the quality of source code. Many researchers have studied the relationships between CC and LOC, between CC and basic testing paths, and between CC and code maintainability etc. However, few researchers studied how software evolution affects CC. In this paper, we propose a methodology based on source code change analysis and develop a supporting tool, called CCEvaluator, to evaluate CC variation during software evolution. By empirical studies on six pieces of typical open source projects, a series of interesting findings including six commonness and five differences have been obtained. To explain why these commonness and differences are produced during software evolution, code change information among successive versions are captured and used in this paper.
What problem does this paper attempt to address?