A Software Metric for Python Language

  • Sanjay Misra
  • Ferid Cafer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6017)


There are many metrics for evaluating the quality of codes written in different programming languages. However, no efforts have been done to propose metrics for Python, which is an important and useful language especially for the software development for the embedded systems. In this present work, we are trying to investigate all the factors, which are responsible for increasing the complexity of code written in Python language. Accordingly, we have proposed a unified metric for this language. Practical applicability of the metric is demonstrated on a case study.


Software complexity complexity metrics Python software development 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Costagliola, G., Tortora, G.: Class points: An approach for the size Estimation of Object-oriented systems. IEEE Transactions on Software Engineering 31(1), 52–74 (2005)CrossRefGoogle Scholar
  2. 2.
    Misra, S., Akman, I.: Weighted Class Complexity: A Measure of Complexity for Object Oriented Systems. Journal of Information Science and Engineering 24, 1689–1708 (2008)Google Scholar
  3. 3.
    Chidamber, S.R., Kermer, C.F.: A Metric Suite for object oriented design. IEEE Transacations Software Engineering SE-6, 476–493 (1994)CrossRefGoogle Scholar
  4. 4.
  5. 5.
    Lutz, M.: Learning Python, 4th edn., Ebook, Safari Books Online, O’Reilly Media, Sebastopol (2009)Google Scholar
  6. 6.
    Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd Revised edn. PWS Publishing, Boston (1997)Google Scholar
  7. 7.
    Bird, S., Klein, E., Loper, E.: Natural Language Processing with Python, 1st edn., Ebook, Safari Books Online, O’Reilly Media, Sebastopol (2009)zbMATHGoogle Scholar
  8. 8.
    Gift, N., Jones, J.M.: Python for Unix and Linux System Administration, 1st edn., Ebook, Safari Books Online, O’Reilly Media, Sebastopol (August 2008)Google Scholar
  9. 9.
    Model, M.L., Tisdall, J.: Bioinformatics Programming Using Python, 1st ed., Ebook, Safari Books Online. O’Reilly Media, Sebastopol (2009)Google Scholar
  10. 10.
    Python Programming Language, cited 04.10.2009
  11. 11.
    Lutz, M.: Programming Python, 3rd ed., Ebook, Safari Books Online. O’Reilly Media (2006)Google Scholar
  12. 12.
    Misra, S., Akman, I.: Unified Complexity Metric: A measure of Complexity. In: Proc. of National Academy of Sciences Section A, 2010 (in press)Google Scholar
  13. 13.
    Basci, D., Misra, S.: Data Complexity Metrics for Web-Services. Advances in Electrical and Computer Engineering 9(2), 9–15 (2009)CrossRefGoogle Scholar
  14. 14.
    Basci, D., Misra, S.: Measuring and Evaluating a Design Complexity Metric for XML Schema Documents. Journal of Information Science and Engineering, 1415–1425 (September 2009)Google Scholar
  15. 15.
    Wang, Y., Shao, J.: A New Measure of Software Complexity Based on Cognitive Weights. Can. J. Elec. Comput. Engg., 69–74 (2003)Google Scholar
  16. 16. 2009, cited 16.10.2009
  17. 17.
    Rupy 2009. cited 10.11.2009
  18. 18.
    FrontRangePythoneersUc 2009, cited 05.10.2009
  19. 19.
    Confoo.Ca Web Techno Conference, cited 14.11.2009
  20. 20.
    Kushwaha, D.S., Misra, A.K.: Improved Cognitive Information Complexity Measure: A Metric That Establishes Program Comprehension Effort. SIGSOFT Software Engineering Notes 31(5) 1–7 (2006)Google Scholar
  21. 21.
    DMH2000 C/Java/Python/Ruby,, cited 15.10.2009
  22. 22.
    Neuroscience – Brain vs. Computer,, cited 17.10.2009.
  23. 23.
    Computer vs. The Brain,, cited 17.10.2009
  24. 24.
    Basci, D., Misra, S.: Entropy metric for XML DTD documents. SIGSOFT Softw. Eng. Notes 33(4), 1–6 (2008)CrossRefGoogle Scholar
  25. 25.
    Python Code Complexity Metrics and Tools available from:
  26. 26.
    Pythius Homepage,, cited 03.10.2009)
  27. 27.
    Python Dependency Graphs,, cited 08.11.2009
  28. 28.
  29. 29.
    PyMetrics,, cited 21.09.2009
  30. 30.
    Shinyama, Y.:, cited 06.10.2009

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Sanjay Misra
    • 1
  • Ferid Cafer
    • 2
  1. 1.Department of Computer Engineering, School of Information and Communication TechnologyFederal University of TechnologyMinnaNigeria
  2. 2.Department of Software EngineeringAtilim UniversityAnkaraTurkey

Personalised recommendations