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.




Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Abran A, Moore J, Bourque P, Dupuis R, Tripp L (2004) Guide to the software engineering body of knowledge. IEEE Computer Society, Los Alamitos
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
Alexander I, Beus-Dukic L (2009) Discovering requirements. How to specify products and services. Wiley, New York
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Glass RL (2002) Software engineering: facts and fallacies. Addison-Wesley Longman, Boston
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
Gregoriades A, Sutcliffe AG (2005) The system reliability analyser tool. Requir Eng 10(1):63–80. doi:10.1007/s00766-004-0200-x
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
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
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
IEEE I (1998) IEEE recommended practice for software requirements specifications. Tech. rep. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=720574
Jensen FV, Nielsen TD (2007) Bayesian networks and decision graphs, 2nd edn. Springer, New York
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
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
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
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
Kjrulff UB, Madsen AL (2008) Bayesian networks and influence diagrams. Springer, New York
Korb K, Nicholson A (2010) Bayesian artificial intelligence, 2nd edn. Chapman and Hall, London
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
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
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
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
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
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
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
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)
Neapolitan RE (2003) Learning Bayesian networks, illustrated, edition edn. Prentice Hall, Upper Saddle River
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
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
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
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
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
Pearl J (1988) Probabilistic reasoning in intelligent systems: networks of plausible inference. Morgan Kaufmann, San Francisco
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
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
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
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
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
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
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
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
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
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
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
Wiegers K (2003) Software requirements: practical techniques for gathering and managing requirements throughout the product development cycle. Pro-best practices. Microsoft Press, New York
Wohlin C, Runeson P, Host M, Ohlsson M, Regnell B, Wesslen A (2000) Experimentation in software engineering: an introduction. Kluwer Academic, London
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
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
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
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
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-015-0225-3