Identifying Complex Functions By Investigating Various Aspects of Code Complexity
Paper in proceeding, 2015

The complexity management of software code has become one of the major problems in software development industry. With growing complexity the maintenance effort of software code increases. Moreover, multiple aspects of complexity create difficulties for optimal complexity management. The objective of this study is to investigate the relationships of several aspects of code complexity and assess the possibilities of optimizing overall code complexity. We conducted an action research project in two software development companies and complemented it with a study of three open source products. Four complexity metrics were measured, and their nature and mutual influence were investigated using statistical methods. The results and possible explanations were discussed with software engineers in industry. The results showed that there are two distinguishable aspects of complexity of source code functions; internal and external complexities. Those have an inverse relationship. Moreover, the product of them cannot be greater than a certain limit, regardless of software size. We developed a method that permits identification of most complex functions considering the two aspects of complexities. The evaluation showed that the use of the method is effective in industry; it enables identification of few (0.5%) most complex functions out of thousands of functions for manual assessment and reengineering.


Vard Antinyan

University of Gothenburg

Miroslaw Staron

University of Gothenburg

Jesper Derehag


Mattias Runsten

Volvo Group

University of Skövde

Erik Wikström


Wilhelm Meding


anders Henriksson

Chalmers, Computer Science and Engineering (Chalmers)

Jörgen Hansson

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Proceedings of 2015 Science and Information Conference (SAI)

9781479985470 (ISBN)

Subject Categories

Software Engineering





More information

Latest update