• 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