Abstract
Large-scale object-oriented (OO) software systems have recently been found to share global network characteristics such as small world and scale free, which go beyond the scope of traditional software measurement and assessment methodologies. To measure the complexity at various levels of granularity, namely graph, class (and object) and source code, we propose a hierarchical set of metrics in terms of coupling and cohesion — the most important characteristics of software, and analyze a sample of 12 open-source OO software systems to empirically validate the set. Experimental results of the correlations between cross-level metrics indicate that the graph measures of our set complement traditional software metrics well from the viewpoint of network thinking, and provide more effective information about fault-prone classes in practice.
Similar content being viewed by others
References
DeMarco T. Controlling Software Projects: Management, Measurement, and Estimates. Englewood Cliffs, N.J.: Prentice-Hall PTR, 1986.
Ramamoorthy C V, Tsai W T, Yamaura T, Bhide A.Metrics guided methodology. In Proc. the 9th Int. Comp. Softw. Appl. Conf., Chicago, USA, Oct. 9-11, 1985, pp.111–120.
Chidamber S R, Kemerer C F. A metrics suite for objectoriented design. IEEE Trans. Softw. Eng., 1994, 20(6): 476–493.
Fernando Brito e Abreu, Regério Carapuça. Object-oriented software engineering: Measuring and controlling the development Process. In Proc. the 4th Int. Conf. Softw. Qual. (ICSQ 1994), McLean, USA, Oct. 3-5, 1994, pp.1–8.
Brain H S. Object-Oriented Metrics: Measures of Complexity. Englewood Cliffs, N.J.: Prentice-Hall PTR, 1996.
Ma Y T, He K Q, Du D H, Liu J, Yan Y L. A complexity metrics set for large-scale object-oriented software systems. In Proc. the 6th Int. Conf. Comp. & Info. Technol. (CIT 2006), Seoul, Korea, Sept. 20-22, 2006, p.189.
Basili V R, Briand L C, Melo W L. A validation of objectoriented design metrics as quality indicators. IEEE Trans. Softw. Eng., 1996, 22(10): 751–761.
Harrison R, Counsell S J, Nithi R V. An evaluation of the MOOD set of object-oriented software metrics. IEEE Trans. Softw. Eng., 1998, 24(6): 491–496.
El Emam K, Benlarbi S, Goel N, Rai S N. The confounding effect of class size on the validity of object-oriented metrics. IEEE Trans. Softw. Eng., 2001, 27(7): 630–650.
Subramanyam R, Krishnan M S. Empirical analysis of CK metrics for object-oriented design complexity: Implications for software defects. IEEE Trans. Softw. Eng., 2003, 29(4): 297–310.
Gyimothy T, Ferenc R, Siket I. Empirical validation of objectoriented metrics on open source software for fault prediction. IEEE Trans. Softw. Eng., 2005, 31(10): 897–910.
Olague H M, Etzkorn L H, Gholston S, Quattlebaum S. Empirical validation of three software metrics suites to predict fault-proneness of object-oriented classes developed using highly iterative or agile software development processes. IEEE Trans. Softw. Eng., 2007, 33(6): 402–419.
Booch G, Jacobson I, Rumbaugh J. The Unified Modeling Language User Guide. Boston, MA: Addison-Wesley Professional, 1998.
Kleppe A, Warmer J, Bast W. MDA Explained: The Model Driven Architecture: Practice and Promise. Boston, MA: Addison-Wesley Professional, 2003.
Genero M, Piattini M, Calero C. A survey of metrics for UML class diagrams. J. Obj. Technol., 2005, 4(9): 59–92.
Manso M E, Genero M, Piattini M. No-redundant metrics for UML class diagram structural complexity. In Proc. the 15th Int. Conf. Adv. Info. Syst. Eng. (CAiSE 2003), Klagenfurt, Austria, Jun. 16-18, 2003, pp.127–142.
Zhou Y, Xu B. Measuring structure complexity of UML class diagrams. Chinese J. Elec., 2003, 20(3): 227–231.
Genero M, Piattini M, Manso M E, Cantone G. Building UML class diagram maintainability prediction models based on early Metrics. In Proc. the 9th Int. Symp. Softw. Metrics (ISSM 2003), Sydney, Australia, Sept. 3-5, 2003, p.263.
Genero M, Piattini M, Manso M E. Finding “early” indicators of UML class diagrams understandability and modifiability. In Proc. 2004 Int. Symp. Emp. Softw. Eng. (ISESE 2004), Redondo Beach, USA, Aug. 19-20, 2004, pp.207–216.
Yi T, Wu F, Gan C. A comparison of metrics for UML class diagrams. ACM SIGSOFT Softw. Eng. Notes, 2004, 29(5): 1–6.
Ma Y T, He K Q, Du D H. A qualitative method for measuring the structural complexity of software systems based on complex networks. In Proc. the 12th Asia-Pacific Softw. Eng. Conf., Taipei, China, Dec. 15-17, 2005, pp.257–263.
Chatzigeorgiou A, Tsantalis N, Stephanides G. Application of graph theory to OO software engineering. In Proc. the 2006 Int. Workshop on Interdiscipl. Softw. Eng. Research (WISER 2006), Shanghai, China, May 20, 2006, pp.29–36.
Potanin A, Noble J, Frean M, Biddle R. Scale-free geometry in OO programs. Commun. ACM, 2005, 48(5): 99–103.
Concas G, Marchesi M, Pinna S, Serra N. Power-laws in a large object-oriented software system. IEEE Trans. Softw. Eng., 2007, 33(10): 687–708.
Louridas P, Spinellis D, Vlachos V. Power laws in software. ACM Trans. Softw. Eng. Methodol., 2008, 18(1): Article 2.
Kasunic M. The state of software measurement practice: Results of 2006 survey. Technical Report, No. CMU/SEI-2006-TR-009, Softw. Eng. Inst. at Carnegie Mellon Univ., 2006.
Zimmermann T, Nagappan N. Predicting defects using network analysis on dependency graphs. In Proc. the 30th Int. Conf. Softw. Eng. (ICSE 2008), Leipzig, Germany, May 10-18, 2008, pp.531–540.
http://en.wikipedia.org/wiki/Complex_fsnetwork, Jul. 1, 2009.
Watts D J, Strogatz S H. Collective dynamics of small-world networks. Nature, 1998, 393(6684): 440–442.
Barabási A L, Albert R. Emergence of scaling in random networks. Science, 1999, 286(5439): 509–512.
Guare J. Six Degrees of Separation: A Play. New York: Vintage Books, 1990.
Barabási A L. Linked: The New Science of Networks. New York: Perseus Books Group, 2002.
Myers C R. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs. Phys. Rev. E, 2003, 68(4): 046116.
Moura A P, Lai Y C, Motter A E. Signatures of small-world and scale-free properties in large computer programs. Phys. Rev. E, 2003, 68(1): 017102.
Valverde S, Solé R V. Hierarchical small worlds in software architecture. Working Paper, No. SFI/03-07-44, Santa Fe Institute, 2003.
Liu J, He K Q, Ma Y T et al. Scale free in software metrics. In Proc. the 30th Int. Comp. Softw. Appl. Conf. (COMPSAC 2006), Chicago, USA, Sept. 17-21, 2006, pp.229–235.
Wheeldon R, Counsell S. Power law distributions in class relationships. In Proc. the 3rd IEEE Int. Workshop on Source Code Analy. & Manipul. (SCAM 2003), Amsterdam, Holland, Sept. 26-27, 2003, pp.45–54.
LaBelle N,Wallingford E. Inter-package dependency networks in open-source software. arXiv: cs.SE/0411096, 2004.
Baxter G, Frean M, Noble J, Rickerby M, Smith H, Visser M, Melton H, Tempero E. Understanding the shape of Java software. ACM SIGPLAN Notices, 2006, 41(10): 397–412.
Concas G, Marchesi M, Pinna S, Serra N. On the suitability of Yule process to stochastically model some properties of object-oriented systems. Physica A, 2006, 370(2): 817–831.
Hyland-Wood D, Carrington D, Kaplan S. Scale-free nature of Java software package, class and method collaboration graphs. Technical Report, No. TR-MS1286, MIND Laboratory, University of Maryland College Park, 2006.
Bilar D. Callgraph properties of executables. AI Commun., 2007, 20(4): 231–243.
Ichii M, Matsushita M, Inoue K. An exploration of powerlaw in use-relation of Java software systems. In Proc. the 19th Australian Conf. Softw. Eng. (ASWEC 2008), Perth, Western Australia, Mar. 26-28, 2008, pp.422–431.
Cai K Y, Yin B B. Software execution processes as an evolving complex network. Information Sciences, 2009, 179(12): 1903–1928.
Wen L, Kirk D, Dromey R G. Software systems as complex networks. In Proc. the 6th IEEE Int. Conf. Cogn. Info. (ICCI 2007), California, USA, Aug. 6-8, 2007, pp.106–115.
Li D Y, Han Y N, Hu J. Complex network thinking in software engineering. In Proc. 2008 Int. Conf. Comp. Sci. and Softw. Eng., Wuhan, China, Dec. 12-14, 2008, pp.264–268.
Dijkstra E W. The Structure of the “T.H.E.” multiprogramming system. Commun. ACM, 1968, 11(5): 453–457.
Zhang H, Zhao H, Cai W et al. A qualitative method for analysis the structure of software systems based on k-core. Dyn. Conti. Disc. Impul. Syst. B, 2007, 14(S6): 18–24.
Cai W, Zhao H, Zhang H, Zhao M, Luo G. Static structural complexity metrics for large-scale software. Dyn. Conti. Disc. Impul. Syst. B, 2007, 14(S6): 12–17.
Vasa R, Schneider J G,Woodward C, Cain A. Detecting structural changes in object oriented software systems. In Proc. 2005 Int. Symp. Emp. Softw. Eng. (ISESE 2005), Noosa Heads, Australia, Nov. 17-18, 2005, pp.479–486.
Jenkins S, Kirk S R. Software architecture graphs as complex networks: A novel partitioning scheme to measure stability and evolution. Information Sciences, 2007, 177(12): 2587–2601.
Vasa R, Schneider J G, Nierstrasz O. The inevitable stability of software change. In Proc. the 23rd IEEE Int. Conf. Softw. Maint. (ICSM 2007), Paris, France, Oct. 2-5, 2007, pp.4–13.
Tosun A, Turhan B, Bener A. Validation of network measures as indicators of defective modules in software systems. In Proc. the 5th Int. Conf. Predictor Models in Softw. Eng. (Promise 2009), Vancouver, Canada, May 18-19, 2009, p.5.
McCabe T J. A complexity measure. IEEE Trans. Softw. Eng., 1976, 2(4): 308–320.
Brooks F P. Three great challenges for half-century-old computer science. J. ACM, 2003, 50(1): 25–26.
Genero M. Defining and validating metrics for conceptual models [Ph.D. Dissertation]. University of Castilla-La Mancha, 2002.
Ravasz E, Somera A L, Mongru D A et al. Hierarchical organization of modularity in metabolic networks. Science, 2002, 297(30): 1551–1555.
Newman M E J. The structure and function of complex networks. SIAM Rev., 2003, 45(2): 167–256.
Maslov S, Sneppen K. Specificity and stability in topology of protein networks. Science, 2002, 296(5569): 910–913.
Briand L, Morasca S, Basili V. Property-Based Software Engineering Measurement. IEEE Trans. Softw. Eng., 1996, 22(6): 68–86.
Poels G, Dedene G. Distance-based software measurement: Necessary and sufficient properties for software measures. Info. & Softw. Technol., 2000, 42(1): 35–46.
Henry S M, Kafura D. Software structure metrics based on information flow. IEEE Trans. Softw. Eng., 1981, 7(5): 510–518.
Ma Y T, He K Q, Liu W et al. A grid-oriented platform for software component repository based on domain ontology. In Proc. 2007 IEEE Int. Conf. Services Comput. (SCC 2007), Salt Lake City, USA, Jul. 9-13, 2007, pp.628–635.
Valverde S, Solé R V. Network motifs in computational graphs: A case study in software architecture. Phys. Rev. E, 2005, 72(2): 026107.
Ma Y T, He K Q, Liu J. Network motifs in object-oriented software systems. Dyn. Conti. Disc. Impul. Syst. B, 2007, 14(S6): 166–172.
Author information
Authors and Affiliations
Corresponding author
Additional information
An early version has been published in the proceedings of the 6th IEEE International Conference on Computer and Information Technology (CIT 2006).
Supported by the National Grand Fundamental Research 973 Program of China under Grant No. 2007CB310800, the National Natural Science Foundation of China under Grant Nos. 60873083 and 60803025, the Research Fund for the Doctoral Program of Higher Education of China under Grant No. 20090141120022, the Natural Science Foundation of Hubei Province of China under Grant Nos. 2008ABA379 and 2008CDB351, and the Fundamental Research Funds for the Central Universities of China under Grant No. 6082005.
Rights and permissions
About this article
Cite this article
Ma, YT., He, KQ., Li, B. et al. A Hybrid Set of Complexity Metrics for Large-Scale Object-Oriented Software Systems. J. Comput. Sci. Technol. 25, 1184–1201 (2010). https://doi.org/10.1007/s11390-010-9398-x
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-010-9398-x