Your browser does not support JavaScript!

Software structure evolution and relation to subgraph defectiveness

Software structure evolution and relation to subgraph defectiveness

For access to this article, please select a purchase option:

Buy article PDF
(plus tax if applicable)
Buy Knowledge Pack
10 articles for $120.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Your details
Why are you recommending this title?
Select reason:
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Network analysis has been successfully applied in software engineering to understand structural effects in the software. System software is represented as a network graph, and network metrics are used to analyse system quality. This study is motivated by a previous study, which represents the software structure as three-node subgraphs and empirically identifies that software structure continuously evolves over system releases. Here, the authors extend the previous study to analyse the relation of structural evolution and the defectiveness of subgraphs in the software network graph. This study investigates the behaviour of subgraph defects through software evolution and their impact on system defectiveness. Statistical methods were used to study subgraph defectiveness across versions of the systems and across subgraph types. The authors conclude that software versions have similar behaviours in terms of average subgraph type defectiveness and subgraph frequency distributions. However, different subgraph types have different defectiveness distributions. Based on these conclusions, the authors motivate the use of subgraph-based software representation in defect predictions and software modelling. These promising findings contribute to the further development of the software engineering discipline and help software developers and quality management in terms of better modelling and focusing their testing efforts within the code structure represented by subgraphs.


    1. 1)
      • 21. Fernandez-Ramil, J., Lozano, A., Wermelinger, M., et al: ‘Empirical studies of open source evolution’, in Mens, T., Demeyer, S. (Eds.): ‘Software evolution’ (Springer, Berlin, Heidelberg, 2008), pp. 263288.
    2. 2)
      • 26. Belderrar, A., Kpodjedo, S., Guéhéneuc, Y., et al: ‘Sub-graph mining: identifying micro-architectures in evolving object-oriented software’. CSMR 2011, Oldenburg, Germany, 2011, pp. 171180.
    3. 3)
      • 33. Chong, C. Y., Lee, S. P.: ‘Analyzing maintainability and reliability of object-oriented software using weighted complex network’, J. Syst. Softw., 2015, 110, (2015), pp. 2853.
    4. 4)
      • 6. Zhang, H.: ‘On the distribution of software faults’, IEEE Trans. Softw. Eng., 2008, 34, (2), pp. 301302.
    5. 5)
      • 23. Herraiz, I., González-Barahona, J. M., Robles, G., et al: ‘On the prediction of the evolution of libre software projects’. ICSM 2007, Paris, France, 2007, pp. 405414.
    6. 6)
      • 17. Concas, G., Monni, C., Orru’, M., et al: ‘A study of the community structure of a complex software network’. Proc. of the 4th Int. Workshop on Emerging Trends in Software Metrics (WETSoM), San Francisco, CA, USA, 2013, pp. 1420.
    7. 7)
      • 7. Milo, R., Shen-Orr, S., Itzkovitz, S., et al: ‘Network motifs: simple building blocks of complex networks’, Science, 2002, 298, (5594), pp. 824827.
    8. 8)
      • 18. Li, Z., Tian, J., Zhao, P.: ‘Software reliability estimate with duplicated components based on connection structure’, Cybern. Inf. Technol., 2014, 14, (3), pp. 313.
    9. 9)
      • 8. Petrić, J., Galinac Grbac, T.: ‘Software structure evolution and relation to system defectiveness’. Proc. of the 18th Int. Conf. on Evaluation and Assessment in Software Engineering EASE2014, London, UK, 2014, Article 34, 10 pages.
    10. 10)
      • 30. Cardillo, G.: ‘Jonckheere–Terpstra test: a non-parametric test for trend’. Available at, accessed July 2018.
    11. 11)
      • 2. Concas, G., Marchesi, M., Murgia, A., et al: ‘On the distribution of bugs in the eclipse system’, IEEE Trans. Softw. Eng., 2011, 37, (6), pp. 872877.
    12. 12)
      • 25. Zimmermann, T., Nagappan, N., Gall, H., et al: ‘Cross-project defect prediction: a large scale experiment on data vs. domain vs. process’. Proc. of the ESEC/FSE ‘09, New York, NY, USA, 2009, pp. 91100.
    13. 13)
      • 14. Zimmermann, T., Nagappan, N.: ‘Predicting defects using network analysis on dependency graphs’. ICSE 2008, Leipzig, Germany, 2008, pp. 531540.
    14. 14)
      • 13. Krishnan, S., Lutz, R. R., Goševa-Popstojanova, K.: ‘Empirical evaluation of reliability improvement in an evolving software product line’. MSR 2011, New York, NY, USA, 2011, pp. 103112.
    15. 15)
      • 28. Petrić, J., Galinac Grbac, T., Dubravac, M.: ‘Processing and data collection of program structures in open source repositories’. Proc. of SQAMIA 2014, Lovran, Croatia, 2014, pp. 5766.
    16. 16)
      • 15. Tosun, A., Turhan, B., Bener, A.: ‘Validation of network measures as indicators of defective modules in software systems’. PROMISE 2009, New York, NY, USA, 2009, Article 5, 9 pages.
    17. 17)
      • 31.
    18. 18)
      • 4. Galinac Grbac, T., Huljenić, D.: ‘On the probability distribution of faults in complex software systems’, Inf. Softw. Technol., 2015, 58, (2015), pp. 250258.
    19. 19)
      • 22. Mohagheghi, P., Conradi, R.: ‘Quality, productivity and economic benefits of software reuse: a review of industrial studies’, Empir. Softw. Eng., 2007, 12, (5), pp. 471516.
    20. 20)
      • 9. Hall, T., Beecham, S., Bowes, D., et al: ‘A systematic literature review on fault prediction performance in software engineering’, IEEE Trans. Softw. Eng., 2012, 38, (6), pp. 12761304.
    21. 21)
      • 12. Hatton, L.: ‘Reexamining the fault density-component size connection’, IEEE Softw., 1997, 14, (2), pp. 8997.
    22. 22)
      • 24. Graves, T.L., Karr, A.F., Marron, J.S., et al: ‘Predicting fault incidence using software change history’, IEEE Trans. Softw. Eng., 2007, 26, (7), pp. 653661.
    23. 23)
      • 36. Wu, R., Zhang, H., Kim, S., et al: ‘Relink: recovering links between bugs and changes’. Proc. of ESEC/FSE 11, New York, USA, 2011, pp. 1525.
    24. 24)
      • 11. Basili, V. R., Perricone, B. T.: ‘Software errors and complexity: an empirical investigation’, ACM Commun., 1984, 27, (1), pp. 4252.
    25. 25)
      • 29. Mauša, G., Galinac Grbac, T., Dalbelo Bašić, B.: ‘A systematic data collection procedure for software defect prediction’, COMSIS J., 2016, 13, (1), pp. 173197.
    26. 26)
      • 16. Bhattacharya, P., Iliofotou, M., Neamtiu, I., et al: ‘Graph-based analysis and prediction for software evolution’. ICSE 2012, Zurich, Switzerland, 2012, pp. 419429.
    27. 27)
      • 27. Zhang, S., Ai, J., Li, X.: ‘Correlation between the distribution of software bugs and network motifs’. IEEE Int. Conf. on Software Quality, Reliability and Security (QRS), Vienna, 2016, pp. 202213.
    28. 28)
      • 32. Tonelli, R., Concas, G., Marchesi, M., et al: ‘An analysis of SNA metrics on the Java Qualitas Corpus’. Proc. of the 4th Annual India Software Engineering Conf., ISEC 2011, India, February 2011, pp. 205213.
    29. 29)
      • 3. Fenton, N. E., Ohlsson, N.: ‘Quantitative analysis of faults and failures in a complex software system’, IEEE Trans. Softw. Eng., 2000, 26, (8), pp. 797814.
    30. 30)
      • 5. Galinac Grbac, T., Runeson, P., Huljenić, D.: ‘A second replicated quantitative analysis of fault distributions in complex software systems’, IEEE Trans. Softw. Eng., 2013, 39, (4), pp. 462476.
    31. 31)
      • 10. Adams, E.: ‘Optimizing preventive service of software products’, IBM Res. J., 1984, 28, (1), pp. 214.
    32. 32)
      • 19. Qian, Y., Minyan, L., Luyi, L.: ‘Critical nodes evaluation in large-scale software based on static structure and runtime information’. IEEE Int. Conf. on Software Quality, Reliability and Security, Companion, Vancouver, BC, 2015, pp. 186187.
    33. 33)
      • 35. Vrankovic, A., Galinac Grbac, T., Tóth, M.: ‘Comparison of software structures in Java and Erlang programming languages’. Proc. of SQAMIA 2017, Beograd, Serbia, September 2017, pp. 1826.
    34. 34)
      • 20. Lehman, M. M., Belady, L. A.: ‘Program evolution: processes of software change’ (Academic Press Prof., Inc., San Diego, CA, 1985).
    35. 35)
      • 1. Andersson, C., Runeson, P.: ‘A replicated quantitative analysis of fault distributions in complex software systems’, IEEE Trans. Softw. Eng., 2007, 33, (5), pp. 273286.
    36. 36)
      • 34. Tempero, E., Anslow, C., Dietrich, J., et al: ‘The Qualitas Corpus: a curated collection of Java code for empirical studies’. 2010 17th Asia Pacific Software Engineering Conf. (APSEC), Sydney, NSW, Australia, 2010, pp. 336345.

Related content

This is a required field
Please enter a valid email address