Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Bayesian networks for enhancement of requirements engineering: a literature review

Published: 01 November 2016 Publication History

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.

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
[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.
[3]
Alexander I, Beus-Dukic L (2009) Discovering requirements. How to specify products and services. Wiley, New York
[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.
[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.
[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.
[7]
Bai CG (2005) Bayesian network based software reliability prediction with an operational profile. J Syst Softw 77(2):103---112.
[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.
[10]
Buntine W (1996) A guide to the literature on learning probabilistic networks from data. IEEE Trans Knowl Data Eng 8(2):195---210.
[11]
Cheng BHC, Atlee JM (2007) Research directions in requirements engineering. In: Briand A, Wolf LC (eds) FOSE, pp 285---303
[12]
Cooper G, Herskovits E (1992) A Bayesian method for the induction of probabilistic networks from data. Mach Learn 9(4):309---347.
[13]
de Melo AC, Sanchez AJ (2008) Software maintenance project delays prediction using Bayesian networks. Expert Syst Appl 34(2):908---919.
[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.
[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.
[18]
Dieste O, Juristo N (2011) Systematic review and aggregation of empirical studies on elicitation techniques. IEEE Trans Softw Eng 37(2):283---304.
[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.
[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.
[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
[22]
Dybå T, DingsØyr T (2008) Empirical studies of agile software development: a systematic review. Inf Softw Technol 50(9---10):833---859.
[23]
Dybå T, Kitchenham B, Jorgensen M (2005) Evidence-based software engineering for practitioners. IEEE Softw 22(1):58---65.
[24]
El Emam K, Koru A (2008) A replicated survey of it software project failures. IEEE Softw 25(5):84---90.
[25]
Fenton N, Krause P, Neil M (2002) Software measurement: uncertainty and causal modeling. IEEE Softw 19(4):116---122.
[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.
[27]
Fenton NE, Neil M (2014) Decision support software for probabilistic risk assessment using Bayesian networks. IEEE Softw 31(2):21---26.
[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.
[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
[31]
Gregoriades A, Sutcliffe AG (2005) Scenario-based assessment of nonfunctional requirements. IEEE Trans Softw Eng 31(5):392---409.
[32]
Gregoriades A, Sutcliffe AG (2005) The system reliability analyser tool. Requir Eng 10(1):63---80.
[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.
[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.
[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.
[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
[38]
Katina PF, Keating CB, Jaradat RM (2014) System requirements engineering in complex situations. Requir Eng 19(1):45---62.
[39]
Kitchenham B, Brereton P (2013) A systematic review of systematic review process research in software engineering. Inf Softw Technol 55(12):2049---2075.
[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.
[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
[43]
Korb K, Nicholson A (2010) Bayesian artificial intelligence, 2nd edn. Chapman and Hall, London
[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.
[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.
[48]
Lucas FJ, Molina F, Toval A (2009) A systematic review of UML model consistency management. Inf Softw Technol 51(12):1631---1645.
[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.
[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
[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.
[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.
[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.
[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.
[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.
[58]
Pearl J (1988) Probabilistic reasoning in intelligent systems: networks of plausible inference. Morgan Kaufmann, San Francisco
[59]
Pendharkar P, Subramanian G, Rodger J (2005) A probabilistic model for predicting software development effort. IEEE Trans Softw Eng 31(7):615---624.
[60]
Punter T, Trendowicz A, Kaiser P (2002) Evaluating evolutionary software systems. In: 4th international conference on product focused software process improvement PROFES 2002.
[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.
[62]
Ruhe G, Saliu MO (2005) The art and science of software release planning. IEEE Softw 22(6):47---53.
[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.
[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.
[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.
[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.
[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.
[68]
Wang J, Wang Q (2014) Analyzing and predicting software integration bugs using network analysis on requirements dependency network. Requir Eng 1---24.
[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.
[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
[71]
Wohlin C, Runeson P, Host M, Ohlsson M, Regnell B, Wesslen A (2000) Experimentation in software engineering: an introduction. Kluwer Academic, London
[72]
Wooff D, Goldstein M, Coolen F (2002) Bayesian graphical models for software testing. IEEE Trans Softw Eng 28(5):510---525.
[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.
[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.
[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.

Cited By

View all
  • (2024)Learning-based Relaxation of Completeness Requirements for Data Entry FormsACM Transactions on Software Engineering and Methodology10.1145/363570833:3(1-32)Online publication date: 15-Mar-2024
  • (2023)Applications of statistical causal inference in software engineeringInformation and Software Technology10.1016/j.infsof.2023.107198159:COnline publication date: 10-May-2023
  • (2022)Online Anomaly Detection of Industrial IoT Based on Hybrid Machine Learning ArchitectureComputational Intelligence and Neuroscience10.1155/2022/85689172022Online publication date: 1-Jan-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Requirements Engineering
Requirements Engineering  Volume 21, Issue 4
November 2016
167 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 November 2016

Author Tags

  1. Bayesian networks
  2. Literature review
  3. Requirements engineering

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 30 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Learning-based Relaxation of Completeness Requirements for Data Entry FormsACM Transactions on Software Engineering and Methodology10.1145/363570833:3(1-32)Online publication date: 15-Mar-2024
  • (2023)Applications of statistical causal inference in software engineeringInformation and Software Technology10.1016/j.infsof.2023.107198159:COnline publication date: 10-May-2023
  • (2022)Online Anomaly Detection of Industrial IoT Based on Hybrid Machine Learning ArchitectureComputational Intelligence and Neuroscience10.1155/2022/85689172022Online publication date: 1-Jan-2022
  • (2022)Recommendation System for Privacy-Preserving Education TechnologiesComputational Intelligence and Neuroscience10.1155/2022/35029922022Online publication date: 1-Jan-2022
  • (2022)Applications of Game Theory and Advanced Machine Learning Methods for Adaptive Cyberdefense Strategies in the Digital Music IndustryComputational Intelligence and Neuroscience10.1155/2022/22661712022Online publication date: 1-Jan-2022
  • (2022)ARAS: adaptation requirements for adaptive systemsAutomated Software Engineering10.1007/s10515-022-00369-330:1Online publication date: 29-Nov-2022
  • (2018)Using Bayesian Networks to estimate Strategic Indicators in the context of Rapid Software DevelopmentProceedings of the 14th International Conference on Predictive Models and Data Analytics in Software Engineering10.1145/3273934.3273940(52-55)Online publication date: 10-Oct-2018
  • (2018)Using Bayesian Network to estimate the value of decisions within the context of Value-Based Software EngineeringProceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 201810.1145/3210459.3210468(90-100)Online publication date: 28-Jun-2018

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media