Identifying Complex Functions By Investigating Various Aspects of Code Complexity
Paper i 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

Göteborgs universitet

Miroslaw Staron

Göteborgs universitet

Jesper Derehag

Ericsson AB

Mattias Runsten

Volvo Group

Högskolan i Skövde

Erik Wikström

Ericsson AB

Wilhelm Meding

Ericsson AB

anders Henriksson

Chalmers, Data- och informationsteknik

Jörgen Hansson

Chalmers, Data- och informationsteknik, Software Engineering

Proceedings of 2015 Science and Information Conference (SAI)

9781479985470 (ISBN)







Mer information

Senast uppdaterat