Bayesian networks for enhancement of requirements engineering: a literature review

AbstractRequirements 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.

[1]  Peter Duchessi,et al.  A Bayesian Belief Network for IT implementation decision support , 2006, Decis. Support Syst..

[2]  Khalid Lateef,et al.  Bayesian Networks applied to Software IV&V , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[3]  George Valença,et al.  Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript , 2022 .

[4]  Norman E. Fenton,et al.  Decision Support Software for Probabilistic Risk Assessment Using Bayesian Networks , 2014, IEEE Software.

[5]  Gregory F. Cooper,et al.  A Bayesian method for the induction of probabilistic networks from data , 1992, Machine Learning.

[6]  Peter Kaiser,et al.  Evaluating Evolutionary Software Systems , 2002, PROFES.

[7]  Joanne Bechta Dugan,et al.  Is My Software "Good Enough" to Release? - A Probabilistic Assessment , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[8]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[9]  Yan Tang,et al.  Requirement Engineering Techniques Selection and Modeling An Expert System Based Approach , 2009, 2009 International Conference on Machine Learning and Applications.

[10]  José del Sagrado,et al.  Requirement Risk Level Forecast Using Bayesian Networks Classifiers , 2011, Int. J. Softw. Eng. Knowl. Eng..

[11]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[12]  J. Wyatt Decision support systems. , 2000, Journal of the Royal Society of Medicine.

[13]  Yong Hu,et al.  Systematic literature review of machine learning based software development effort estimation models , 2012, Inf. Softw. Technol..

[14]  Shailey Minocha,et al.  Human errors and system requirements , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[15]  Uffe Kjærulff,et al.  Bayesian Networks and Influence Diagrams: A Guide to Construction and Analysis , 2007, Information Science and Statistics.

[16]  Robert L. Glass Software Engineering: Facts and Fallacies , 2002 .

[17]  M. Kessentini,et al.  A Systematic Literature Review , 2016 .

[18]  Junjie Wang,et al.  Analyzing and predicting software integration bugs using network analysis on requirements dependency network , 2014, Requirements Engineering.

[19]  Zhifeng Zhang,et al.  Application of active learning strategy and formalization method in requirement analysis , 2012, 2012 IEEE Symposium on Robotics and Applications (ISRA).

[20]  Shailey Minocha,et al.  An impact analysis method for safety-critical user interface design , 1999, TCHI.

[21]  Seok-Won Lee Probabilistic Risk Assessment for Security Requirements: A Preliminary Study , 2011, 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement.

[22]  Judea Pearl,et al.  Probabilistic reasoning in intelligent systems - networks of plausible inference , 1991, Morgan Kaufmann series in representation and reasoning.

[23]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[24]  Kathryn Blackmond Laskey Development of Bayesian Networks from Unified Modeling Language Artifacts , 2000 .

[25]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[26]  Lin Liu,et al.  Optimizing Requirements Elicitation with an i* and Bayesian Network Integrated Modelling Approach , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[27]  Francisco Javier Orellana,et al.  Architecture for the Use of Synergies between Knowledge Engineering and Requirements Engineering , 2011, CAEPIA.

[28]  Susan K. Donohue,et al.  Modeling the "Good enough to release" decision using V&V preference structures and Bayesian belief networks , 2003, Annual Reliability and Maintainability Symposium, 2003..

[29]  Grzegorz J. Nalepa,et al.  Proceedings of 8th Workshop on Knowledge Engineering and Software Engineering (KESE8) , 2013 .

[30]  BuntineWray A Guide to the Literature on Learning Probabilistic Networks from Data , 1996 .

[31]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[32]  Alistair G. Sutcliffe,et al.  Validating functional system requirements with scenarios , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[33]  Yan Tang,et al.  An Expert System Based Approach to Modeling and Selecting Requirement Engineering Techniques , 2009, WISM.

[34]  Alistair G. Sutcliffe,et al.  Scenario-based assessment of nonfunctional requirements , 2005, IEEE Transactions on Software Engineering.

[35]  Finn V. Jensen,et al.  Bayesian Networks and Decision Graphs , 2001, Statistics for Engineering and Information Science.

[36]  Michael Goldstein,et al.  Bayesian Graphical Models for Software Testing , 2002, IEEE Trans. Software Eng..

[37]  Parag C. Pendharkar,et al.  A Probabilistic Model for Predicting Software Development Effort , 2003, ICCSA.

[38]  A. Hasman,et al.  Probabilistic reasoning in intelligent systems: Networks of plausible inference , 1991 .

[39]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .

[40]  Wray L. Buntine A Guide to the Literature on Learning Probabilistic Networks from Data , 1996, IEEE Trans. Knowl. Data Eng..

[41]  Alistair G. Sutcliffe,et al.  The system reliability analyser tool , 2004, Requirements Engineering.

[42]  Kevin B. Korb,et al.  Bayesian Artificial Intelligence, Second Edition , 2010 .

[43]  Kathryn B. Laskey,et al.  An Application of Uncertain Reasoning to Requirements Engineering , 1999, UAI.

[44]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

[45]  José del Sagrado,et al.  Metamodeling of Bayesian networks for decision-support systems development , 2012, KESE@ECAI.

[46]  Craig Boutilier,et al.  Who's asking for help?: a Bayesian approach to intelligent assistance , 2006, IUI '06.

[47]  Kathryn Blackmond Laske,et al.  Breaking the Knowledge Bottleneck for Bayesian Networks Using Language (UML) Artifacts , 2000 .

[48]  Anders L. Madsen,et al.  Bayesian networks and influence diagrams , 2007 .

[49]  Tim Menzies Improving IV&V Techniques Through the Analysis of Project Anomalies: Bayes networks - preliminary report , 2006 .

[50]  Pearl Brereton,et al.  A systematic review of systematic review process research in software engineering , 2013, Inf. Softw. Technol..

[51]  William Marsh,et al.  Predicting software defects in varying development lifecycles using Bayesian nets , 2007, Inf. Softw. Technol..

[52]  Chenggang Bai,et al.  Bayesian network based software reliability prediction with an operational profile , 2005, J. Syst. Softw..

[53]  Kevin B. Korb,et al.  Bayesian Artificial Intelligence , 2004, Computer science and data analysis series.

[54]  XuJing,et al.  An evaluation model for dependability of Internet-scale software on basis of Bayesian Networks and trustworthiness , 2014 .

[55]  Tor Stålhane,et al.  Exploring a Bayesian and linear approach to requirements traceability , 2011, Inf. Softw. Technol..

[56]  Lusine Mkrtchyan,et al.  A Bayesian Based Method for Agile Software Development Release Planning and Project Health Monitoring , 2010, 2010 International Conference on Intelligent Networking and Collaborative Systems.

[57]  Norman E. Fenton,et al.  Software Measurement: Uncertainty and Causal Modeling , 2002, IEEE Softw..

[58]  Kevin Crowston,et al.  FLOSSmole: A Collaborative Repository for FLOSS Research Data and Analyses , 2006, Int. J. Inf. Technol. Web Eng..

[59]  Carolyn M. Hall,et al.  Encyclopedia of Library and Information Science , 1971 .

[60]  John May,et al.  Gaining Confidence in the Software Development Process Using Expert Systems , 2006, SAFECOMP.

[61]  Charles B. Keating,et al.  System requirements engineering in complex situations , 2012, Requirements Engineering.

[62]  José Ambrosio Toval Álvarez,et al.  A systematic review of UML model consistency management , 2009, Inf. Softw. Technol..

[63]  Xiaoqi Zhang,et al.  An efficient Bayesian diagnosis for QoS management in service-oriented architecture , 2011, 2011 IEEE International Conference on Service-Oriented Computing and Applications (SOCA).

[64]  Natalia Juristo Juzgado,et al.  Systematic review and aggregation of empirical studies on elicitation techniques , 2011, IEEE Transactions on Software Engineering.

[65]  Lukasz Radlinski,et al.  A Framework for Integrated Software Quality Prediction Using Bayesian Nets , 2011, ICCSA.

[66]  Ana Cristina Vieira de Melo,et al.  Software maintenance project delays prediction using Bayesian Networks , 2008, Expert Syst. Appl..

[67]  Tore Dybå,et al.  Evidence-Based Software Engineering for Practitioners , 2005, IEEE Softw..

[68]  José del Sagrado Martínez,et al.  A Bayesian Network for Predicting the Need for a Requirements Review , 2010 .

[69]  Beatrice Alenljung,et al.  Portraying the practice of decision-making in requirements engineering: a case of large scale bespoke development , 2008, Requirements Engineering.

[70]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[71]  Ljerka Beus-Dukic,et al.  Discovering Requirements: How to Specify Products and Services , 2009 .

[72]  Maria João Varanda Pereira,et al.  Report from the first international workshop on realizing artificial intelligence synergies in software engineering (RAISE 2012) , 2012, SOEN.

[73]  Jerzy W. Rozenblit,et al.  Framework for hardware/software partitioning utilizing Bayesian belief networks , 1998, SMC'98 Conference Proceedings. 1998 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.98CH36218).

[74]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A systematic literature review , 2009, Inf. Softw. Technol..

[75]  Claes Wohlin,et al.  The fundamental nature of requirements engineering activities as a decision-making process , 2003, Inf. Softw. Technol..

[76]  Peter R Humphrey,et al.  Systematic reviews of diagnostic test evaluations: what's behind the scenes? , 2004, ACP journal club.

[77]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[78]  Lionel C. Briand,et al.  A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation , 2010, IEEE Transactions on Software Engineering.

[79]  Finn Verner Jensen,et al.  Bayesian Networks and Influence Diagrams , 1997 .

[80]  Khaled El Emam,et al.  A Replicated Survey of IT Software Project Failures , 2008, IEEE Software.