Skip to main content
Log in

Bayesian networks for enhancement of requirements engineering: a literature review

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

Abstract

Requirements analysis is the software engineering stage that is closest to the users’ world. It also involves tasks that are knowledge intensive. Thus, the use of Bayesian networks (BNs) to model this knowledge would be a valuable aid. These probabilistic models could manage the imprecision and ambiguities usually present in requirements engineering (RE). In this work, we conduct a literature review focusing on where and how BNs are applied on subareas of RE in order to identify which gaps remain uncovered and which methods might engineers employ to incorporate this intelligent technique into their own requirements processes. The scarcity of identified studies (there are only 20) suggests that not all RE areas have been properly investigated in the literature. The evidence available for adopting BNs into RE is sufficiently mature yet the methods applied are not easily translatable to other topics. Nonetheless, there are enough studies supporting the applicability of synergistic cooperation between RE and BNs. This work provides a background for understanding the current state of research encompassing RE and BNs. Functional, non-functional and -ilities requirements artifacts are enhanced by the use of BNs. These models were obtained by interacting with experts or by learning from databases. The most common criticism from the point of view of BN experts is that the models lack validation, whereas requirements engineers point to the lack of a clear application method for BNs and the lack of tools for incorporating them as built-in help functions.

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

Similar content being viewed by others

References

  1. Abran A, Moore J, Bourque P, Dupuis R, Tripp L (2004) Guide to the software engineering body of knowledge. IEEE Computer Society, Los Alamitos

    Google Scholar 

  2. Alenljung B, Persson A (2008) Portraying the practice of decision-making in requirements engineering: a case of large scale bespoke development. Requir Eng 13(4):257–279. doi:10.1007/s00766-008-0068-2

    Article  Google Scholar 

  3. Alexander I, Beus-Dukic L (2009) Discovering requirements. How to specify products and services. Wiley, New York

    Google Scholar 

  4. Ali S, Briand LC, Hemmati H, Panesar-Walawege RK (2010) A systematic review of the application and empirical investigation of search-based test case generation. IEEE Trans Softw Eng 36(6):742–762. doi:10.1109/TSE.2009.52

    Article  Google Scholar 

  5. Alves V, Niu N, Alves C, Valena G (2010) Requirements engineering for software product lines: a systematic literature review. Inf Softw Technol 52(8):806–820. doi:10.1016/j.infsof.2010.03.014

    Article  Google Scholar 

  6. Aurum A, Wohlin C (2003) The fundamental nature of requirements engineering activities as a decision-making process. Inf Softw Technol 45(14):945–954. doi:10.1016/S0950-5849(03)00096-X

    Article  Google Scholar 

  7. Bai CG (2005) Bayesian network based software reliability prediction with an operational profile. J Syst Softw 77(2):103–112. doi:10.1016/j.jss.2004.11.034

    Article  Google Scholar 

  8. Barry PS, Laskey KB (1999) An application of uncertain reasoning to requirements engineering. In: Proceedings of the 15th conference on uncertainty in artificial intelligence, pp 41–48. Morgan Kaufman

  9. Brito M, May J (2006) Gaining confidence in the software development process using expert systems. In: Garski J (ed) Computer safety, reliability, and security, lecture notes in computer science, vol 4166. Springer, Berlin, pp 113–126. doi:10.1007/11875567_9

  10. Buntine W (1996) A guide to the literature on learning probabilistic networks from data. IEEE Trans Knowl Data Eng 8(2):195–210. doi:10.1109/69.494161

    Article  Google Scholar 

  11. Cheng BHC, Atlee JM (2007) Research directions in requirements engineering. In: Briand A, Wolf LC (eds) FOSE, pp 285–303 . doi:10.1145/1253532.1254725

  12. Cooper G, Herskovits E (1992) A Bayesian method for the induction of probabilistic networks from data. Mach Learn 9(4):309–347. doi:10.1007/BF00994110

    MATH  Google Scholar 

  13. de Melo AC, Sanchez AJ (2008) Software maintenance project delays prediction using Bayesian networks. Expert Syst Appl 34(2):908–919. doi:10.1016/j.eswa.2006.10.040

    Article  Google Scholar 

  14. del Águila IM, del Sagrado J (2011) Requirement risk level forecast using Bayesian networks classifiers. Int J Softw Eng Knowl Eng 21(2):167–190. doi:10.1142/S0218194011005219

    Article  Google Scholar 

  15. del Águila IM, del Sagrado J (2012) Metamodelling of Bayesian networks for decision-support system development. In: Proceedings of 8th workshop on knowledge engineering and software engineering (KESE8 2012)

  16. del Sagrado J, del Aguila IM (2010) A Bayesian network for predicting the need for a requirements review. In: Meziane F, Vadera S (eds) Artificial Intelligence Applications for Improved Software Engineering Development: New Prospects. Information Science Reference, Hershey, pp 106–128

  17. del Sagrado J, del Águila IM, Orellana FJ (2011) Architecture for the use of synergies between knowledge engineering and requirements engineering. In: Lozano JA, Gámez JA, Moreno JA (eds) CAEPIA, lecture notes in computer science, vol 7023. Springer, New York, pp 213–222. doi:10.1007/978-3-642-25274-7_22

  18. Dieste O, Juristo N (2011) Systematic review and aggregation of empirical studies on elicitation techniques. IEEE Trans Softw Eng 37(2):283–304. doi:10.1109/TSE.2010.33

    Article  Google Scholar 

  19. Donohue S, Dugan J (2003) Modeling the “good enough to release” decision using V & IV preference structures and Bayesian belief networks. In: Annual reliability and maintainability symposium, 2003, pp 568–573. doi:10.1109/RAMS.2003.1182051

  20. Donohue S, Dugan J (2005) Is my software “good enough” to release? A probabilistic assessment. In: 29th annual IEEE/NASA Software engineering workshop, 2005, pp 5–13. doi:10.1109/SEW.2005.30

  21. Druzdzel MJ, Flynn RR (2000) Decision support systems. In: Kent A (ed) Encyclopedia of library and information science, vol 67. Marcel Dekker Inc, New York, pp 120–133

    Google Scholar 

  22. DybĂ„ T, DingsĂžyr T (2008) Empirical studies of agile software development: a systematic review. Inf Softw Technol 50(9–10):833–859. doi:10.1016/j.infsof.2008.01.006

    Article  Google Scholar 

  23. DybĂ„ T, Kitchenham B, Jorgensen M (2005) Evidence-based software engineering for practitioners. IEEE Softw 22(1):58–65. doi:10.1109/MS.2005.6

    Article  Google Scholar 

  24. El Emam K, Koru A (2008) A replicated survey of it software project failures. IEEE Softw 25(5):84–90. doi:10.1109/MS.2008.107

    Article  Google Scholar 

  25. Fenton N, Krause P, Neil M (2002) Software measurement: uncertainty and causal modeling. IEEE Softw 19(4):116–122. doi:10.1109/MS.2002.1020298

    Article  Google Scholar 

  26. Fenton N, Neil M, Marsh W, Hearty P, Marquez D, Krause P, Mishra R (2007) Predicting software defects in varying development lifecycles using Bayesian nets. Inf Softw Technol 49(1):32–43. doi:10.1016/j.infsof.2006.09.001

    Article  Google Scholar 

  27. Fenton NE, Neil M (2014) Decision support software for probabilistic risk assessment using Bayesian networks. IEEE Softw 31(2):21–26. doi:10.1109/MS.2014.32

    Article  Google Scholar 

  28. Galliers J, Sutcliffe A, Minocha S (1999) An impact analysis method for safety–critical user interface design. ACM Trans Comput Hum Interact 6(4):341–369. doi:10.1145/331490.331493

    Article  Google Scholar 

  29. Ganesh J. Pai, J.B.D., Leteef K (2006) Analyses of milestone readiness levels in software IV&V. In: Proceedings of international symposium on software reliability engineering (ISSRE), workshop on software assessment

  30. Glass RL (2002) Software engineering: facts and fallacies. Addison-Wesley Longman, Boston

    Google Scholar 

  31. Gregoriades A, Sutcliffe AG (2005) Scenario-based assessment of nonfunctional requirements. IEEE Trans Softw Eng 31(5):392–409. doi:10.1109/TSE.2005.59

    Article  Google Scholar 

  32. Gregoriades A, Sutcliffe AG (2005) The system reliability analyser tool. Requir Eng 10(1):63–80. doi:10.1007/s00766-004-0200-x

    Article  Google Scholar 

  33. Harrison R, da Cruz D, Henriques P, Pereira MJV, Liu SH, Menzies T, Mernik M, Rodriguez D (2012) Report from the first international workshop on realizing artificial intelligence synergies in software engineering (raise 2012). SIGSOFT Softw Eng Notes 37(5):34–35. doi:10.1145/2347696.2347697

    Article  Google Scholar 

  34. Howison J, Conklin M, Crowston K (2006) Flossmole: a collaborative repository for floss research data and analyses. Int J Inf Technol Web Eng 1:17–26. doi:10.4018/jitwe.2006070102

    Article  Google Scholar 

  35. Hui B, Boutilier C (2006) Who’s asking for help? A Bayesian approach to intelligent assistance. In: Proceedings of the 11th international conference on intelligent user interfaces, IUI ’06. ACM, New York, NY, USA, pp 186–193. doi:10.1145/1111449.1111491

  36. IEEE I (1998) IEEE recommended practice for software requirements specifications. Tech. rep. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=720574

  37. Jensen FV, Nielsen TD (2007) Bayesian networks and decision graphs, 2nd edn. Springer, New York

    Book  MATH  Google Scholar 

  38. Katina PF, Keating CB, Jaradat RM (2014) System requirements engineering in complex situations. Requir Eng 19(1):45–62. doi:10.1007/s00766-012-0157-0

    Article  Google Scholar 

  39. Kitchenham B, Brereton P (2013) A systematic review of systematic review process research in software engineering. Inf Softw Technol 55(12):2049–2075. doi:10.1016/j.infsof.2013.07.010

    Article  Google Scholar 

  40. Kitchenham B, Brereton P, Budgen D, Turner M, Bailey J, Linkman SG (2009) Systematic literature reviews in software engineering—a systematic literature review. Inf Softw Technol 51(1):7–15. doi:10.1016/j.infsof.2008.09.009

    Article  Google Scholar 

  41. Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering. Tech. Rep. EBSE 2007–001, Keele University and Durham University Joint Report

  42. Kjrulff UB, Madsen AL (2008) Bayesian networks and influence diagrams. Springer, New York

    Book  Google Scholar 

  43. Korb K, Nicholson A (2010) Bayesian artificial intelligence, 2nd edn. Chapman and Hall, London

    MATH  Google Scholar 

  44. Laskey KB, Barry P, Brouse P (2000) Breaking the knowledge bottleneck for Bayesian networks using language (UML) artifacts. In: 2nd international conference on software engineering and knowledge engineering, Chicago, IL

  45. Laskey KB, Barry PS (2000) Development of Bayesian networks from unified modeling language artifacts. In: Proceedings of the twelfth software engineering/knowledge engineering 2000 conference

  46. Lauría EJM, Duchessi PJ (2006) A Bayesian belief network for it implementation decision support. Decis Support Syst 42(3):1573–1588. doi:10.1016/j.dss.2006.01.003

    Article  Google Scholar 

  47. Lee S (2011) Probabilistic risk assessment for security requirements: a preliminary study. In: 2011 fifth international conference on secure software integration and reliability improvement (SSIRI), pp 11–20. doi:10.1109/SSIRI.2011.12

  48. Lucas FJ, Molina F, Toval A (2009) A systematic review of UML model consistency management. Inf Softw Technol 51(12):1631–1645. doi:10.1016/j.infsof.2009.04.009

    Article  Google Scholar 

  49. Menzies T (2006) Improving IV&V techniques through the analysis of project anomalies: Bayes networks—preliminary report. Tech. rep., West Virginia University. http://menzies.us/pdf/06anomalies-bayes0.pdf

  50. Nagy A, Njima M, Mkrtchyan L (2010) A Bayesian based method for agile software development release planning and project health monitoring. In: 2010 2nd international conference on intelligent networking and collaborative systems (INCOS), pp 192–199. doi:10.1109/INCOS.2010.99

  51. Nalepa GJ, Nadas JC, Baumeister J (eds) Proceedings of 8th workshop on knowledge engineering and software engineering (KESE8) at the 20th Biennial European conference on artificial intelligence (ECAI 2012) Montpellier, France, August 28, 2011, CEUR workshop proceedings, vol 949. CEUR-WS.org (2011)

  52. Neapolitan RE (2003) Learning Bayesian networks, illustrated, edition edn. Prentice Hall, Upper Saddle River

    Google Scholar 

  53. Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: Proceedings of the conference on the future of software engineering, ICSE ’00. ACM, New York, NY, USA, pp 35–46. doi:10.1145/336512.336523

  54. Olson J, Rozenblit J (1998) Framework for hardware/software partitioning utilizing bayesian belief networks. In: 1998 IEEE international conference on systems, man, and cybernetics, 1998, vol 4, pp 3983–3988. doi:10.1109/ICSMC.1998.726711

  55. Omoronyia I, Sindre G, StĂ„lhane T (2011) Exploring a Bayesian and linear approach to requirements traceability. Inf Softw Technol 53(8):851–871. doi:10.1016/j.infsof.2011.03.001

    Article  Google Scholar 

  56. Pai G, Bechta-Dugan J, Lateef K (2005) Bayesian networks applied to software IV & V. In: Proceedings of the 29th annual NASA/IEEE software engineering workshop, pp 293–304. doi:10.1109/SEW.2005.20

  57. Pai M, McCulloch M, Enanoria W, Colford J (2004) Systematic reviews of diagnostic test evaluations: what’s behind the scenes? Evid Based Med 9(4):101–103. doi:10.1136/ebm.9.4.101

    Article  Google Scholar 

  58. Pearl J (1988) Probabilistic reasoning in intelligent systems: networks of plausible inference. Morgan Kaufmann, San Francisco

    MATH  Google Scholar 

  59. Pendharkar P, Subramanian G, Rodger J (2005) A probabilistic model for predicting software development effort. IEEE Trans Softw Eng 31(7):615–624. doi:10.1109/TSE.2005.75

    Article  Google Scholar 

  60. Punter T, Trendowicz A, Kaiser P (2002) Evaluating evolutionary software systems. In: 4th international conference on product focused software process improvement PROFES 2002. doi:10.1007/3-540-36209-6_23

  61. Radlinski L (2011) A framework for integrated software quality prediction using Bayesian nets. In: Murgante B, Gervasi O, Iglesias A, Taniar D, Apduhan B (eds) Computational science and its applications—ICCSA 2011, lecture notes in computer science, vol 6786. Springer, Berlin, pp 310–325. doi:10.1007/978-3-642-21934-4_26

  62. Ruhe G, Saliu MO (2005) The art and science of software release planning. IEEE Softw 22(6):47–53. doi:10.1109/MS.2005.164

    Article  Google Scholar 

  63. Si G, Xu J, Yang J, Wen S (2014) An evaluation model for dependability of internet-scale software on basis of Bayesian networks and trustworthiness. J Syst Softw 89:63–75. doi:10.1016/j.jss.2013.08.035

    Article  Google Scholar 

  64. Sutcliffe A, Galliers J, Minocha S (1999) Human errors and system requirements. In: Proceedings of the IEEE international symposium on requirements engineering, 1999, pp 23–30. doi:10.1109/ISRE.1999.777982

  65. Sutcliffe A, Gregoriades A (2002) Validating functional system requirements with scenarios. In: Proceedings of the IEEE joint international conference on requirements engineering, 2002, pp 181–188. doi:10.1109/ICRE.2002.1048521

  66. Tang Y, Feng K (2009) An expert system based approach to modeling and selecting requirement engineering techniques. In: Liu W, Luo X, Wang F, Lei J (eds) Web information systems and mining, lecture notes in computer science, vol 5854. Springer, Berlin, pp 19–30. doi:10.1007/978-3-642-05250-7_3

  67. Tang Y, Feng K, Cooper K, Cangussu J (2009) Requirement engineering techniques selection and modeling an expert system based approach. In: International conference on machine learning and applications, 2009, ICMLA ’09, pp 705–709. doi:10.1109/ICMLA.2009.102

  68. Wang J, Wang Q (2014) Analyzing and predicting software integration bugs using network analysis on requirements dependency network. Requir Eng 1–24. doi:10.1007/s00766-014-0215-x

  69. Wen J, Li S, Lin Z, Hu Y, Huang C (2012) Systematic literature review of machine learning based software development effort estimation models. Inf Softw Technol 54(1):41–59. doi:10.1016/j.infsof.2011.09.002

    Article  Google Scholar 

  70. Wiegers K (2003) Software requirements: practical techniques for gathering and managing requirements throughout the product development cycle. Pro-best practices. Microsoft Press, New York

    Google Scholar 

  71. Wohlin C, Runeson P, Host M, Ohlsson M, Regnell B, Wesslen A (2000) Experimentation in software engineering: an introduction. Kluwer Academic, London

    Book  MATH  Google Scholar 

  72. Wooff D, Goldstein M, Coolen F (2002) Bayesian graphical models for software testing. IEEE Trans Softw Eng 28(5):510–525. doi:10.1109/TSE.2002.1000453

    Article  Google Scholar 

  73. Wu H, Liu L, Ma W (2010) Optimizing requirements elicitation with an i* and Bayesian network integrated modelling approach. In: 2010 IEEE 34th annual computer software and applications conference workshops (COMPSACW), pp 182–188. doi:10.1109/COMPSACW.2010.40

  74. Zhang J, Zhang X, Lin KJ (2011) An efficient Bayesian diagnosis for QOS management in service-oriented architecture. In: 2011 IEEE international conference on service-oriented computing and applications (SOCA), pp 1–8. doi:10.1109/SOCA.2011.6166214

  75. Zhang Z, Liu Y (2012) Application of active learning strategy and formalization method in requirement analysis. In: 2012 IEEE symposium on robotics and applications (ISRA), pp 958–960. doi:10.1109/ISRA.2012.6219353

Download references

Acknowledgments

This research has been funded by the Spanish Ministry of Economy and Competitiveness under project TIN2013-46638-C3-1-P.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Isabel M. del Águila.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

del Águila, I.M., del Sagrado, J. Bayesian networks for enhancement of requirements engineering: a literature review. Requirements Eng 21, 461–480 (2016). https://doi.org/10.1007/s00766-015-0225-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-015-0225-3

Keywords

Navigation