DocumentCode :
2032736
Title :
Identifying complex functions: By investigating various aspects of code complexity
Author :
Antinyan, Vard ; Staron, Miroslaw ; Derehag, Jesper ; Runsten, Mattias ; Wikstrom, Erik ; Meding, Wilhelm ; Henriksson, Anders ; Hansson, Jorgen
Author_Institution :
Dept. of Comput. Sci. & Eng., Chalmers|Univ. of Gothenburg, Gothenburg, Sweden
fYear :
2015
fDate :
28-30 July 2015
Firstpage :
879
Lastpage :
888
Abstract :
The complexity management of software code has become one of the major problems in software development industry. With growing complexity the maintenance effort of code increases. Moreover, various aspects of complexity create difficulties for complexity assessment. The objective of this paper is to investigate the relationships of various aspects of code complexity and propose a method for identifying the most complex functions. We have conducted an action research project in two software development companies and complemented it with a study of three open source products. Four complexity metrics are measured, and their nature and mutual influence are investigated. The results and possible explanations are discussed with software engineers in industry. The results show that there are two distinguishable aspects of complexity of source code functions: Internal and outbound complexities. Those have an inverse relationship. Moreover, the product of them does not seem to be greater than a certain limit, regardless of software size. We present a method that permits identification of most complex functions considering the two aspects of complexities. The evaluation shows that the use of the method is effective in industry: It enables identification of 0.5% most complex functions out of thousands of functions for reengineering.
Keywords :
computational complexity; public domain software; software development management; software maintenance; software metrics; code complexity; code maintenance effort; complex function identification; complexity assessment; complexity management; complexity metrics; inverse relationship; open source products; software code; software development industry; software engineers; software size; source code functions; Complexity theory; Fluid flow measurement; Industries; Phase measurement; Software; Software measurement; code; complexity; management; risk; trade-off;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Science and Information Conference (SAI), 2015
Conference_Location :
London
Type :
conf
DOI :
10.1109/SAI.2015.7237246
Filename :
7237246
Link To Document :
بازگشت