A Bayesian Networks-Based Method to Analyze the Validity of the Data of Software Measurement Programs

Measures are essential resources to improve quality and control costs during software development. One of the main factors for having successful software measurement programs is measure trustworthiness, defined as how much a user can trust a measure to use it with confidence. Such confidence enables the users to interpret them and use them for supporting decision-making. ISO/IEC 15939:2007 describes four stages that influence such interpretability: measure selection, measure validation, threshold definition, and data validation. The literature is scarce in supporting data validation, which directly impacts the measure’s trustworthiness value. This article aims to detail a method that uses Bayesian networks for supporting data validation and shows its application in practice to four software development projects from one company. The proposed method uses Bayesian networks to calculate the degree to which a collected number or symbol represents the real value for the measures and is integrated with GQM for assessing the measurement program’s goals. First, the measurement users must create GQM model hierarchical structures, use it as input for constructing the Bayesian network, validate the Bayesian network, and, finally, use it to support decision-making. A tool to support the proposed method was developed and is freely available. Further, herein, the results of the case study are presented. We identified four benefits in using the proposed method: Externalization, Diagnosis support, Measure interpretation improvement, and Decision-making support. Given this, even though the initial effort to use the proposed method lasted, on average, one hour and fourteen minutes, the benefits of using it outweighed the effort of applying it. Therefore, our findings suggest that there was a positive intention in adopting the proposed method in practice.

[1]  Ayse Basar Bener,et al.  Influence of confirmation biases of developers on software quality: an empirical study , 2012, Software Quality Journal.

[2]  A. D. Belchior,et al.  Measurement Process: A Mapping Among CMMI-SW, ISO/IEC 15939, IEEE Std 1061, Six Sigma and PSM , 2006, 2006 International Conference on Service Systems and Service Management.

[3]  Radu Marinescu,et al.  Detection strategies: metrics-based rules for detecting design flaws , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[4]  Emilia Mendes Practitioner's Knowledge Representation: A Pathway to Improve Software Effort Estimation , 2014 .

[5]  Claes Wohlin,et al.  Context in industrial software engineering research , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[6]  Miroslaw Staron,et al.  Validating software measures using action research a method and industrial experiences , 2016, EASE.

[7]  Balaram Das,et al.  Generating Conditional Probabilities for Bayesian Networks: Easing the Knowledge Acquisition Problem , 2004, ArXiv.

[8]  Mario Piattini,et al.  A systematic review measurement in software engineering: State-of-the-art in Measures , 2006, ICSOFT.

[9]  L. Finkelstein,et al.  A review of the fundamental concepts of measurement , 1984 .

[10]  Touseef Tahir,et al.  Systematic Literature Review on Software Measurement Programs , 2016 .

[11]  José del Sagrado,et al.  Bayesian networks for enhancement of requirements engineering: a literature review , 2015, Requirements Engineering.

[12]  Linda G. Wallace,et al.  The adoption of software measures: A technology acceptance model (TAM) perspective , 2014, Inf. Manag..

[13]  Judea Pearl,et al.  Bayesian Networks , 1998, Encyclopedia of Social Network Analysis and Mining. 2nd Ed..

[14]  L. Williams,et al.  Contents , 2020, Ophthalmology (Rochester, Minn.).

[15]  Fred D. Davis,et al.  Explaining Software Developer Acceptance of Methodologies: A Comparison of Five Theoretical Models , 2002, IEEE Trans. Software Eng..

[16]  Shari Lawrence Pfleeger,et al.  Towards a Framework for Software Measurement Validation , 1995, IEEE Trans. Software Eng..

[17]  Markku Oivo,et al.  Success Factors for Effective Process Metrics Operationalization in Agile Software Development: A Multiple Case Study , 2019, 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP).

[18]  Lionel C. Briand,et al.  Practical guidelines for measurement-based process improvement , 1996, Softw. Process. Improv. Pract..

[19]  Markku Oivo,et al.  Software Process Measurement and Related Challenges in Agile Software Development: A Multiple Case Study , 2018, PROFES.

[20]  Martin Neil,et al.  Building large-scale Bayesian networks , 2000, The Knowledge Engineering Review.

[21]  Antonia Stefani,et al.  Meta-metric Evaluation of E-Commerce-related Metrics , 2009, SQM@CSMR.

[22]  Miroslaw Staron,et al.  Making Software Measurement Standards Understandable , 2020, EASE.

[23]  Norman Fenton,et al.  Risk Assessment and Decision Analysis with Bayesian Networks , 2012 .

[24]  Ayse Basar Bener,et al.  Bayesian Networks For Evidence-Based Decision-Making in Software Engineering , 2014, IEEE Transactions on Software Engineering.

[25]  A. Bundschuh,et al.  Software Measurement and Estimation , 2002 .

[26]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[27]  Mario Piattini,et al.  Managing software process measurement: A metamodel-based approach , 2007, Inf. Sci..

[28]  Francisco Javier Díez,et al.  Parameter adjustment in Bayes networks. The generalized noisy OR-gate , 1993, UAI.

[29]  V. Basili Software modeling and measurement: the Goal/Question/Metric paradigm , 1992 .

[30]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[31]  Mirko Perkusich,et al.  A Bayesian network approach to assist on the interpretation of software metrics , 2015, SAC.

[32]  William Marsh,et al.  From complex questionnaire and interviewing data to intelligent Bayesian Network models for medical decision support , 2016, Artif. Intell. Medicine.

[33]  Mirko Perkusich,et al.  Using Survey and Weighted Functions to Generate Node Probability Tables for Bayesian Networks , 2013, 2013 BRICS Congress on Computational Intelligence and 11th Brazilian Congress on Computational Intelligence.

[34]  Ieee Standard,et al.  Adoption of ISO/IEC 15939:2007— Systems and Software Engineering— Measurement Process , 2009 .

[35]  Xavier Franch,et al.  A Method to Estimate Software Strategic Indicators in Software Development: An Industrial Application , 2021, Inf. Softw. Technol..

[36]  Laura Uusitalo,et al.  Advantages and challenges of Bayesian networks in environmental modelling , 2007 .

[37]  T. Dean Hendrix,et al.  The role of software measures and metrics in studies of program comprehension , 1999, ACM-SE 37.

[38]  Raed Shatnawi Identifying Threshold Values of Change-Prone Modules , 2018, ICEMC '18.

[39]  Igor Linkov,et al.  Metric Selection for Ecosystem Restoration , 2013 .

[40]  Hisham M. Haddad,et al.  The State of Metrics in Software Industry , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[41]  Max Henrion,et al.  Efficient Search-Based Inference for noisy-OR Belief Networks: TopEpsilon , 1996, UAI.

[42]  Norman E. Fenton,et al.  Software metrics: roadmap , 2000, ICSE '00.

[43]  Carlos Alberto Flesch,et al.  Applying Bayesian networks to performance forecast of innovation projects: A case study of transformational leadership influence in organizations oriented by projects , 2012, Expert Syst. Appl..

[44]  Norman E. Fenton,et al.  Implementing Effective Software Metrics Programs , 1997, IEEE Softw..

[45]  Mirko Perkusich,et al.  A procedure to detect problems of processes in software development projects using Bayesian networks , 2015, Expert Syst. Appl..

[46]  Mirko Perkusich,et al.  A systematic process to define expert-driven software metrics thresholds (S) , 2019, SEKE.

[47]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[48]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[49]  M. Goodchild,et al.  Geographic Information Systems and Science (second edition) , 2001 .

[50]  Laurie A. Williams,et al.  Validating software metrics: A spectrum of philosophies , 2012, TSEM.

[51]  Yongtae Park,et al.  Large engineering project risk management using a Bayesian belief network , 2009, Expert Syst. Appl..

[52]  Xavier Franch,et al.  Using Bayesian Networks to estimate Strategic Indicators in the context of Rapid Software Development , 2018, PROMISE.

[53]  Michal Choras,et al.  Increasing product owners’ cognition and decision-making capabilities by data analysis approach , 2018, Cognition, Technology & Work.

[54]  T. Devi,et al.  SOFTWARE METRICS VALIDATION METHODOLOGIES IN SOFTWARE ENGINEERING , 2014 .

[55]  Ayse Basar Bener,et al.  A systematic literature review on the applications of Bayesian networks to predict software quality , 2015, Software Quality Journal.

[56]  Sanja Aaramaa,et al.  Continuously Assessing and Improving Software Quality With Software Analytics Tools: A Case Study , 2019, IEEE Access.

[57]  Vijay S. Pande,et al.  Folding@home: Lessons from eight years of volunteer distributed computing , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[58]  Jamaiah Yahaya,et al.  Software metric selection methods: A review , 2015, 2015 International Conference on Electrical Engineering and Informatics (ICEEI).

[59]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[60]  Norman E. Fenton,et al.  Using Ranked Nodes to Model Qualitative Judgments in Bayesian Networks , 2007, IEEE Transactions on Knowledge and Data Engineering.

[61]  Michał Choraś,et al.  Measuring and Improving Agile Processes in a Small-Size Software Development Company , 2020, IEEE Access.

[62]  Foutse Khomh,et al.  BDTEX: A GQM-based Bayesian approach for the detection of antipatterns , 2011, J. Syst. Softw..

[63]  Ellen A. Drost,et al.  Validity and Reliability in Social Science Research. , 2011 .

[64]  Reinhold Plösch,et al.  Operationalised product quality models and assessment: The Quamoco approach , 2014, Inf. Softw. Technol..

[65]  Bart De Schutter,et al.  Bayesian and Dempster-Shafer reasoning for knowledge-based fault diagnosis-A comparative study , 2017, Eng. Appl. Artif. Intell..

[66]  Xu Wang,et al.  A Fuzzy-Based Method for Evaluating the Trustworthiness of Software Processes , 2010, ICSP.

[67]  William Marsh,et al.  Not just data: A method for improving prediction with knowledge , 2014, J. Biomed. Informatics.

[68]  Renu Dhir,et al.  Threshold-based empirical validation of object-oriented metrics on different severity levels , 2019 .

[69]  Christian R. Prause,et al.  Emperor's New Clothes: Transparency Through Metrication in Customer-Supplier Relationships , 2018, PROFES.

[70]  Igor Linkov,et al.  Weight-of-evidence evaluation in environmental assessment: review of qualitative and quantitative approaches. , 2009, The Science of the total environment.

[71]  Miroslaw J. Skibniewski,et al.  Decision support analysis for safety control in complex project environments based on Bayesian Networks , 2013, Expert Syst. Appl..