Skip to main content
Log in

Analyzing and predicting software integration bugs using network analysis on requirements dependency network

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

Complexity, cohesion and coupling have been recognized as prominent indicators of software quality. One characterization of software complexity is the existence of dependency relationships. Moreover, the degree of dependency reflects the cohesion and coupling between software elements. Dependencies in the design and implementation phase have been proven to be important predictors of software bugs. We empirically investigated how requirements dependencies correlate with and predict software integration bugs, which can provide early estimates regarding software quality and thus facilitate decision making early in the software lifecycle. We conducted network analysis on the requirements dependency networks of three commercial software projects. Significant correlation is observed between most of our network measures and the number of bugs. Furthermore, many network measures demonstrate significantly greater values for higher severity (or a higher fixing workload). Afterward, we built bug prediction models using these network measures and found that bugs can be predicted with high accuracy and sensitivity, even in cross-project and cross-company contexts. We further identified the dependency type that contributes most to bug correlation, as well as the network measures that contribute more to bug prediction. These observations show that the requirements dependency network can be used as an early indicator and predictor of software integration bugs.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. Similarity rate between practitioner P1 and P2 is defined as \(\frac{{\;{\text{dependencies}}\;{\text{identified}}\;{\text{by}}\;P1\; \cap \;{\text{dependencies}}\;{\text{identified}}\;{\text{by}}\;P2}}{{\;{\text{dependencies}}\;{\text{identified}}\;{\text{by}}\;P1\; \cup \;{\text{dependencies}}\;{\text{identified}}\;{\text{by}}\;P2}}\).

  2. The similarity rates of first step for Project B were, respectively, 0.80, 0.80 and 0.82, while similarity rates for Project C were, respectively, 0.76, 0.78 and 0.78.

  3. The similarity rates of second step for Project B were, respectively, 0.94, 0.94 and 0.96, while similarity rates for Project C were, respectively, 0.86, 0.88 and 0.88.

References

  1. Systems and software engineering—software life cycle processes. ISO/IEC 12207:2008

  2. Al-Emran A, Pfahl D, Ruhe G (2010) Decision support for product release planning based on robustness analysis. In: Proceedings of 18th IEEE international requirements engineering conference (RE’2010). Sydney, Australia, pp 157–166

  3. Allison PD (1999) Multiple regression: a primer. Pine Forge Press, Thousand Oaks

    Google Scholar 

  4. Baniassad E, Clarke S (2004) Finding aspects in requirements with theme/doc. In: Workshop on early aspects: aspect-oriented requirements engineering and architecture design workshop. Lancaster, UK, pp 1–8

  5. Basili V, Shull F, Lanubile F (1999) Building knowledge through families of experiments. IEEE Trans Softw Eng 25(4):456–473

    Article  Google Scholar 

  6. Bhattacharya P, Iliofotou M, Neamtiu I, Faloutsos M (2012) Graph-based analysis and prediction for software evolution. In: Proceedings of IEEE international conference on software engineering (ICSE’2012). Zurich, Switzerland, pp 419–429

  7. Bird C, Pattison D, D’Souza R, Filkov V, Devanbu P (2008) Latent social structure in open source projects. In: Proceedings of 16th ACM SIGSOFT international symposium on foundations of software engineering (FSE’2008). Atlanta, Georgia, USA, pp 24–35

  8. Borgatti SP, Everett MG, Freeman LC (2002) Ucinet for windows: software for social network analysis. Analytic Technologies, Harvard

    Google Scholar 

  9. Carlshamre P, Sandahl K, Lindvall M, Regnell B, Natt och Dag J (2001) An industrial survey of requirements interdependencies in software product release planning. In: Proceedings of 5th IEEE international symposium on requirements engineering (RE’2001). Cape Town, South Africa, pp 84–91

  10. Cataldo M, Herbsleb JD (2011) Factors leading to integration failures in global feature-oriented development: an empirical analysis. In: Proceedings of IEEE international conference on software engineering (ICSE’2011). Waikiki, Honolulu, HI, USA, pp 161–170

  11. Cataldo M, Mockus A, Roberts JA, Herbsleb JD (2009) Software dependencies, work dependencies and their impact on failures. IEEE Trans Softw Eng 35(6):864–878

    Article  Google Scholar 

  12. Chen K, Zhao H, Zhang W, Mei H (2006) Identification of crosscutting requirements based on feature dependency. In: Proceedings of 14th IEEE international requirements engineering conference (RE’2006). Minneapolis, USA, pp 307–310

  13. Chitchyan R, Rashid A (2006) Tracing requirements interdependency semantics. In: Workshop on early aspects: traceability of aspects in the early life cycle. Bonn, Germany

  14. Cleland-Huang J, Settimi R, Duan C, Zou X (2005) Utilizing supporting evidence to improve dynamic requirements traceability. In: Proceedings of 13th IEEE international conference on requirements engineering (RE’2005). Paris, France, pp 135–144

  15. Dahlstedt A, Persson A (2005) Requirements interdependencies: State of the art and future challenges. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Heidelberg, pp 95–116

  16. Duan C, Cleland-Huang J (2007) A clustering technique for early detection of dominant and recessive cross-cutting concerns. In: Proceedings of the early aspects at ICSE: workshops in aspect-oriented requirements engineering and architecture design. Minneapolis, USA

  17. Fenton N, Neil M, Marsh W, Hearty P, Radlinski L, Krause P (2008) On the effectiveness of early life cycle defect prediction with bayesian nets. Empir Softw Eng 13:499–537

    Article  Google Scholar 

  18. Fenton NF, Pfleeger SL (1998) Software metrics: a rigorous and practical approach. Brooks/Cole, CA

  19. Fitzgerald C, Letier E, Finkelstein A (2012) Early failure prediction in feature request management systems: an extended study. Requir Eng 17:117–132

    Article  Google Scholar 

  20. Giventer L (2007) Statistical analysis in public administration. Jones and Bartlett, Burlington

    Google Scholar 

  21. Hanneman RA, Riddle M (2005) Introduction to social network methods. University of California, Riverside

    Google Scholar 

  22. He L, Li J, Wang Q, Yang Y (2009) Predicting upgrade project defects based on enhancement requirements: an empirical study. In: Proceedings of international conference on software process (ICSP’2009). Vancouver, Canada, pp 268–279

  23. Katasonov A, Sakkinen M (2006) Requirements quality control: a unifying framework. Requir Eng 11:42–57

    Article  Google Scholar 

  24. Kobayashi K, Matsuo A, Inoue K, Hayase Y, Kamimura M, Yoshino T (2011) ImpactScale: quantifying change impact to predict faults in large software systems. In: Proceedings of 27th IEEE international conference on software maintenance (ICSM’2011). Williamsburg, USA, pp 43–52

  25. Li C, Akker M, Brinkkemper S, Diepen G (2010) An integrated approach for requirement selection and scheduling in software release planning. Requir Eng 15:375–396

    Article  Google Scholar 

  26. Li J, Zhu L, Jeffery R, Liu Y, Zhang H, Wang Q, Li M (2012) An initial evaluation of requirements dependency types in change propagation analysis. In: Proceedings of 16th international conference on evaluation and assessment in software engineering (EASE’2012). Ciudad Real, Spain, pp 62–71

  27. Li Y (2010) Requirement change impact analysis model and research on related approaches. Phd thesis, Institute of Software Chinese Academy of Sciences, Beijing, China

  28. Lim SL, Finkelstein A (2012) StakeRare: using social networks and collaborative filtering for large-scale requirements elicitation. IEEE Trans Softw Eng 38(3):707–735

    Article  Google Scholar 

  29. Lim SL, Quercia D, Finkelstein A (2010) StakeNet: using social networks to analyse the stakeholders of large-scale software projects. In: Proceedings of IEEE international conference on software engineering (ICSE’2010). Cape Town, South Africa, pp 295–304

  30. Madachy R, Boehm B (2008) Assessing quality processes with ODC COQUALMO. Lecture notes in computer science, making globally distributed software development a success story

  31. Marczak S, Damian D (2011) How interaction between roles shapes the communication structure in requirements-driven collaboration. In: Proceedings of 19th IEEE international requirements engineering conference (RE’2011). Trento, Italy, pp 47–56

  32. Marczak S, Damian D, Stege U, Schroter A (2008) Information brokers in requirement-dependency social networks. In: Proceedings of 16th IEEE international requirements engineering conference (RE’2008). Barcelona, Catalunya, Spain, pp 53–62

  33. McGee S, Greer D (2012) Towards an understanding of the causes and effects of software requirements change: two case studies. Requir Eng 17:133–155

    Article  Google Scholar 

  34. Milo R, Shen-Orr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U (2002) Network motifs: simple building blocks of complex networks. Science 298:824–827

    Article  Google Scholar 

  35. Munson J, Khoshgoftaar T (1992) The detection of fault-prone programs. IEEE Trans Softw Eng 18:423–433

    Article  Google Scholar 

  36. Nagappan N, Ball T (2007) Using software dependencies and churn metrics to predict field failures: An empirical case study. In: Proc. IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM’2007), pp. 364–373. Madrid, Spain

  37. Navarro I, Leveson N, Lunqvist K (2010) Semantic decoupling: reducing the impact of requirement changes. Requir Eng 15:419–437

    Article  Google Scholar 

  38. Nguyen THD, Adams B, Hassan AE (2010) Studying the impact of dependency network measures on software quality. In: Proceedings of 26th IEEE international conference on software maintenance (ICSM’2010). Timisoara, Romania, pp 1–10

  39. Ott D (2012) Defects in natural language requirement specifications at Mercedes-Benz: an investigation using a combination of legacy data and expert opinion. In: Proceedings of 20th IEEE international requirements engineering conference (RE’2012). Chicago, Illinois, USA, pp 291–296

  40. Park S, Maurer F, Eberlein A, Fung T (2010) Requirements attributes to predict requirements related defects. In: Proceedings of conference of the center for advanced studies on collaborative research (CASCON’2010). Toronto, Canada, pp 42–56

  41. Pinzger M, Nagappan N, Murphy B (2008) Can developer-module networks predict failures? In: Proceedings of 16th ACM SIGSOFT international symposium on foundations of software engineering (FSE’2008). Atlanta, Georgia, USA, pp 2–12

  42. Pohl K (1996) Process-centered requirements engineering. Wiley, Hoboken

    Google Scholar 

  43. Sellier D, Mannion M, Mansell JX (2008) Managing requirements inter-dependency for software product line derivation. Requir Eng 13:299–313

    Article  Google Scholar 

  44. Subramanyam R, Krishnan MS (2003) Empirical analysis of CK metrics for object-oriented design complexity: implications for software defects. IEEE Trans Softw Eng 29:297–310

    Article  Google Scholar 

  45. Turhan B (2012) On the dataset shift problem in software engineering prediction models. Empir Softw Eng 17:62–74

    Article  MathSciNet  Google Scholar 

  46. Walia G, Carver J (2009) A systematic literature review to identify and classify software requirement errors. Inf Softw Technol 51(7):1087–1109

    Article  Google Scholar 

  47. Wang J, Li J, Wang Q, Yang D, Zhang H, Li M (2013) Can requirements dependency network be used as early indicator of software integration bugs? In: Proceedings of 21th IEEE international requirements engineering conference (RE’2013). Rio de Janeiro, Brazil, pp 185–194

  48. Wang J, Li J, Wang Q, Zhang H, Wang H (2012) A simulation approach for impact analysis of requirement volatility considering dependency change. In: Proceedings of 18th international working conference on requirements engineering: foundation for software quality (REFSQ’2012). Essen, Germany, pp 59–76

  49. Wolf T, Schroter A, Damian D, Nguyen T (2009) Predicting build failures using social network analysis on developer communication. In: Proceedings of IEEE international conference on software engineering (ICSE’2009). Vancouver, Canada, pp 1–11

  50. Wolf T, Schroter A, Damian D, Panjer LD, Nguyen TH (2009) Mining task-based social networks to explore collaboration in software teams. IEEE Softw 26(1):58–66

    Article  Google Scholar 

  51. Zhang H, Li J, Zhu L, Jeffery R, Liu Y, Wang Q, Li M (2014) Investigating dependencies in software requirements for change propagation analysis. Inf Softw Technol 56:40–53

    Article  Google Scholar 

  52. Zhang W, Mei H, Zhao H (2006) Feature-driven requirement dependency analysis and high-level software design. Requir Eng 11:205–220

    Article  Google Scholar 

  53. Zimmermann T, Nagappan N (2008) Predicting defects using network analysis on dependency graphs. In: Proceedings of IEEE international conference on software engineering (ICSE’2008). Leipzig, Germany, pp 531–540

Download references

Acknowledgments

This work is supported by the National Natural Science Foundation of China under Grant Nos. 91318301, 91218302 and 61432001.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Junjie Wang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, J., Wang, Q. Analyzing and predicting software integration bugs using network analysis on requirements dependency network. Requirements Eng 21, 161–184 (2016). https://doi.org/10.1007/s00766-014-0215-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-014-0215-x

Keywords

Navigation