An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code

H.S. Campos, Luís Rogério Ventura Martins Filho, Marco Antônio Pereira Araújo · IEEE Latin America Transactions · 2016

Seeking product's quality is essential nowadays. One of the many quality aspects in software development is the source code complexity. Not paying attention to the complexity during the development can result in unexpected cost, caused by the difficulty on the source code understanding. The goal of this paper is to introduce an initial approach to identify unnecessary complexity in source code. Besides identifying, the approach can also show to its user how to properly rewrite the source code without the unnecessary complexity. The approach is based on the static analysis of the source code control flow graph. Once the unnecessary complexity is identified, the graph is refactored in order to allow the user to understand the improvement on the source code. The approach was included in a software tool in order to prove its concept. A performance evaluation of the approach was performed, resulting in a high accuracy. Two experimental studies were also performed to assess the viability of the approach when used by real users. The evidences provided by these studies suggests that the approach support the unnecessary complexity removal.

Read the paper · More papers on PaperTik