A Metric for Evaluating Residual Complexity in Software

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 748)


A new metric for evaluating the complexity of software is proposed: The residual complexity. This is the combination of a complexity metric with a code coverage metric. It indicates how well the complexity of a software is handled by software tests, and how much complexity still remains untested. In this paper we give an overview over existing source code metrics and code coverage metrics. Afterwards the residual complexity is described and the consequences are discussed. In the end a use case is shown on a real life example of a software application implemented in .NET.


Software quality Software metric Residual complexity Complexity metric Cyclomatic complexity Branch coverage 


  1. 1.
    Boehm, B., Abts, C., Chulani, S.: Software development cost estimation approaches - a survey. Ann. Softw. Eng. 10(1), 177–205 (2000). CrossRefzbMATHGoogle Scholar
  2. 2.
    C#Code: Sharpdevelop (2012).
  3. 3.
    Dünnebeil, F., Reinhard, C., Lambrecht, U., Kies, A., Hausberger, S., Rexeis, M.: Zukünftige Maßnahmen zur Kraftstoffeinsparung und Treibhausgasminderung bei schweren Nutzfahrzeugen. Umweltbundesamt Texte 2015(32) (2015).
  4. 4.
    Halstead, M.H.: Elements of Software Science. Operating and Programming Systems Series. Elsevier Science Inc., New York (1977)zbMATHGoogle Scholar
  5. 5.
    Hausberger, S., Rexeis, M., Luz, R.: Transmission and gear shift calculation in VECTO, pp. 1–10, March 2013Google Scholar
  6. 6.
    Hausberger, S., Rexeis, M., Luz, R., Kreiner, C., Krisper, M., Quaritsch, M., Gretzl, P., Eichlseder, H.: VECTO tool development (2016)Google Scholar
  7. 7.
    ISO, IEC: ISO/IEC 25010:2011 system and software quality models. Technical report (2011).
  8. 8.
    ISO, IEC: ISO/IEC 25000 systems and software quality requirements and evaluation (square). Technical report, ISO/IEC (2014).
  9. 9.
    Jones, T.C.: Measuring programming quality and productivity. IBM Syst. J. 17(1), 39–63 (1978)CrossRefGoogle Scholar
  10. 10.
    Kies, A., Rexeis, M., Silberholz, G., Luz, R., Hausberger, S.: Options to consider future advanced fuel- saving technologies in the CO2 test procedure for HDV. Technical report, Forschungsgesellschaft für Verbrennungskraftmaschinen und Thermodynamik mbH (2013)Google Scholar
  11. 11.
    Luz, R.: Simulationsbasierte Methode zur Zertifizierung der CO2 Emissionen von schweren Nutzfahrzeugen. Ph.D. thesis, Graz University of Technology (2015)Google Scholar
  12. 12.
    McCabe, T., Watson, A.: Software complexity. J. Def. Softw. Eng. 7(12), 5–9 (1994)Google Scholar
  13. 13.
    Microsoft: Visual studio code metrics values.
  14. 14.
    Naboulsi, Z.: Code metrics - maintainability index (2011).
  15. 15.
    Nguyen, V., Deeds-Rubin, S., Tan, T., Boehm, B.: A SLOC counting standard (2008)Google Scholar
  16. 16.
    Oman, P., Hagemeister, J.: Metrics for assessing a software system’s maintainability. In: Proceedings of the Conference on Software Maintenance, pp. 337–344 (1992)Google Scholar
  17. 17.
    Rosenberg, L., Hammer, T., Shaw, J.: Software metrics and reliability. In: IEEE International Symposium on Software Reliability Engineering (1998)Google Scholar
  18. 18.
    Watson, A., McCabe, T.: Structured testing: a testing methodology using the cyclomatic complexity metric. NIST Special Publication 500–235 (1996)Google Scholar
  19. 19.
    Wilde, S.: Sharpdevelop (2014).

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Graz University of TechnologyGrazAustria

Personalised recommendations