학술논문

An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code
Document Type
Periodical
Source
IEEE Latin America Transactions IEEE Latin Am. Trans. Latin America Transactions, IEEE (Revista IEEE America Latina). 14(8):3777-3783 Aug, 2016
Subject
Power, Energy and Industry Applications
Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Computing and Processing
Engineered Materials, Dielectrics and Plasmas
Fields, Waves and Electromagnetics
General Topics for Engineers
Complexity theory
IEEE transactions
Flow graphs
Software tools
Performance evaluation
Software engineering
control flow graph
cyclomatic complexity
experimental software engineering
unnecessary complexity
Language
ISSN
1548-0992
Abstract
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.