Software defect prevention based on human error theories

Abstract Software defect prevention is an important way to reduce the defect introduction rate. As the primary cause of software defects, human error can be the key to understanding and preventing software defects. This paper proposes a defect prevention approach based on human error mechanisms: DPeHE. The approach includes both knowledge and regulation training in human error prevention. Knowledge training provides programmers with explicit knowledge on why programmers commit errors, what kinds of errors tend to be committed under different circumstances, and how these errors can be prevented. Regulation training further helps programmers to promote the awareness and ability to prevent human errors through practice. The practice is facilitated by a problem solving checklist and a root cause identification checklist. This paper provides a systematic framework that integrates knowledge across disciplines, e.g., cognitive science, software psychology and software engineering to defend against human errors in software development. Furthermore, we applied this approach in an international company at CMM Level 5 and a software development institution at CMM Level 1 in the Chinese Aviation Industry. The application cases show that the approach is feasible and effective in promoting developers’ ability to prevent software defects, independent of process maturity levels.

[1]  Dewayne E. Perry,et al.  A case study in root cause defect analysis , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[2]  N. Unsworth Examining variation in working memory capacity and retrieval in cued recall , 2009, Memory.

[3]  Alex Viale,et al.  Application of a human error framework to conduct train accident/incident investigations. , 2006, Accident; analysis and prevention.

[4]  Guilherme Horta Travassos,et al.  Towards a Defect Prevention Based Process Improvement Approach , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[5]  Françoise Détienne,et al.  Software Design — Cognitive Aspects , 2001, Practitioner Series.

[6]  Melissa T. Baysari,et al.  Classification of errors contributing to rail incidents and accidents: A comparison of two human error identification techniques , 2009 .

[7]  M. Boekaerts,et al.  Self-Regulation in the Classroom: A Perspective on Assessment and Intervention , 2005 .

[8]  Robert G. Mays,et al.  Experiences with Defect Prevention , 1990, IBM Syst. J..

[9]  Gregory Schraw Promoting general metacognitive awareness , 1998 .

[10]  A. D. Swain,et al.  Handbook of human-reliability analysis with emphasis on nuclear power plant applications. Final report , 1983 .

[11]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.

[12]  M. Vauras,et al.  Comprehension Monitoring and the Level of Comprehension in High- and Low-Achieving Primary School Children's Reading. , 1995 .

[13]  Fuqun Huang,et al.  Causal Mechanism Graph ─ A new notation for capturing cause-effect knowledge in software dependability , 2017, Reliab. Eng. Syst. Saf..

[14]  Metin Celik,et al.  Analytical HFACS for investigating human errors in shipping accidents. , 2009, Accident; analysis and prevention.

[15]  Bracha Kramarski,et al.  Enhancing Mathematical Reasoning in the Classroom: The Effects of Cooperative Learning and Metacognitive Training , 2003 .

[16]  Carole L. Jones A Process-Integrated Approach to Defect Prevention , 1985, IBM Syst. J..

[17]  Fuqun Huang,et al.  Study on the Correlations Between Program Metrics and Defect Rate by a Controlled Experiment , 2013 .

[18]  David N. Card,et al.  Learning from Our Mistakes with Defect Causal Analysis , 1999, IEEE Softw..

[19]  A. Schoenfeld Learning to Think Mathematically: Problem Solving, Metacognition, and Sense Making in Mathematics (Reprint) , 2009 .

[20]  Bruce C. Howard,et al.  Measures of children's knowledge and regulation of cognition , 2002 .

[21]  T. Goetz,et al.  Metacognitive Strategies and Test Performance: An Experience Sampling Analysis of Students' Learning Behavior , 2012 .

[22]  Pietro Carlo Cacciabue,et al.  Human factors engineering in healthcare systems: The problem of human error and accident management , 2010, Int. J. Medical Informatics.

[23]  Ernst Kesseler,et al.  Towards human-centred design: Two case studies , 2006, J. Syst. Softw..

[24]  Willemien Visser,et al.  Expert Software Design Strategies , 1990 .

[25]  A. Brown Metacognition, executive control, self-regulation, and other more mysterious mechanisms , 1987 .

[26]  Mohan Chinnappan,et al.  The effects of training in the use of executive strategies in geometry problem solving , 1996 .

[27]  Ram Chillarege,et al.  Orthogonal defect classification , 1996 .

[28]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[29]  Fuqun Huang,et al.  Post-Completion Error in Software Development , 2016, 2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE).

[30]  Bill Curtis,et al.  Breakdowns and processes during the early activities of software design by professionals , 1987 .

[31]  Hausi A. Müller,et al.  Cognitive design elements to support the construction of a mental model during software exploration , 1999, J. Syst. Softw..

[32]  Bin Liu,et al.  The links between human error diversity and software diversity: Implications for fault diversity seeking , 2014, Sci. Comput. Program..

[33]  Arthur Whimbey,et al.  Problem Solving & Comprehension , 1991 .

[34]  Ann L. Brown,et al.  How people learn: Brain, mind, experience, and school. , 1999 .

[35]  Antony Tang,et al.  Software architecture review by association , 2014, J. Syst. Softw..

[36]  Xiaodong Lin,et al.  Supporting Learning of Variable Control in a Computer-Based Biology Environment: Effects of Prompting College Students to Reflect on Their Own Thinking , 1999 .

[37]  R. L. Dominowski,et al.  Metacognition and problem solving : A process-oriented approach. , 1995 .

[38]  Françoise Détienne,et al.  Expert Programming Knowledge: a Schema-Based Approach , 2007, ArXiv.

[39]  M. Frese,et al.  Error handling in office work with computers: A field study , 1993 .

[40]  Steven Mitchell Price How Perceived Cognitive Style, Metacognitive Monitoring, and Epistemic Cognition Indicate Problem Solving Confidence , 2009 .

[41]  Neville A. Stanton,et al.  Human error taxonomies applied to driving: A generic driver error taxonomy and its implications for intelligent transport systems , 2009 .

[42]  Wondea Jung,et al.  A taxonomy of performance influencing factors for human reliability analysis of emergency tasks , 2003 .

[43]  Guy H. Walker,et al.  Managing error on the open road: the contribution of human error models and methods. , 2010 .

[44]  J. Lincoln,et al.  Is aviation a good model to study human errors in health care? , 2012, American journal of surgery.

[45]  Ryan A. Hargrove,et al.  Assessing the long-term impact of a metacognitive approach to creative skill development , 2013 .

[46]  Bin Liu,et al.  The impact of software process consistency on residual defects , 2015, J. Softw. Evol. Process..

[47]  Paul M. Salmon,et al.  Examining the relationship between driver distraction and driving errors: a discussion of theory, studies and methods , 2012 .

[48]  Esther Kapa,et al.  Transfer from structured to open-ended problem solving in a computerized metacognitive environment , 2007 .

[49]  Olivier Sorel,et al.  Metacognition and low achievement in mathematics: The effect of training in the use of metacognitive skills to solve mathematical word problems , 2010 .

[50]  M. Byrne,et al.  A Working Memory Model of a Common Procedural Error , 1997 .

[51]  Fedja Netjasov,et al.  A review of research on risk and safety modelling in civil aviation , 2008 .

[52]  Wang Yichen Review of Software Psychology , 2013 .

[53]  Elliot Soloway,et al.  A model of software design , 1986, Int. J. Intell. Syst..

[54]  Robert W. Reeder,et al.  Improving user-interface dependability through mitigation of human error , 2005, Int. J. Hum. Comput. Stud..

[55]  Robert G. Mays Applications of Defect Prevention in Software Development , 1990, IEEE J. Sel. Areas Commun..

[56]  Yung-Tsan Jou,et al.  The research on extracting the information of human errors in the main control room of nuclear power plants by using Performance Evaluation Matrix , 2011 .

[57]  Robin H. Kay The role of errors in learning computer software , 2007, Comput. Educ..

[58]  Erik Hollnagel,et al.  Cognitive reliability and error analysis method : CREAM , 1998 .

[59]  Jamal Abedi,et al.  Reliability and Validity of a State Metacognitive Inventory: Potential for Alternative Assessment , 1996 .

[60]  J.C. Williams,et al.  A data-based method for assessing and reducing human error to improve operational performance , 1988, Conference Record for 1988 IEEE Fourth Conference on Human Factors and Power Plants,.

[61]  J. Beishuizen,et al.  The relation between intellectual and metacognitive skills from a developmental perspective , 2004 .

[62]  Ruven E. Brooks Towards a theory of the cognitive processes in computer programming , 1999, Int. J. Hum. Comput. Stud..

[63]  S. K. Teong The effect of metacognitive training on mathematical word-problem solving , 2003, J. Comput. Assist. Learn..

[64]  B. Freimut,et al.  The importance of life cycle modeling to defect detection and prevention , 2002, 10th International Workshop on Software Technology and Engineering Practice.

[65]  Sallyann Bryant,et al.  Rating Expertise in Collaborative Software Development , 2005, PPIG.

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

[67]  Tom Kontogiannis,et al.  A proactive approach to human error detection and identification in aviation and air traffic control , 2009 .

[68]  Neda Perunovi,et al.  Please cite this article: SALIVARY AND PLASMA INFLAMMATORY MEDIATORS AND SECRETORY STATUS IN PRETERM DELIVERY WOMEN WITH PERIODONTITIS – A CROSS SECTIONAL STUDY SALIVARNI I INFLAMATORNI MEDIJATORI PLAZME I SEKRETORNI STATUS KOD PREVREMENOG POROĐAJA ŽENA SA PERIODONTITISOM – STUDIJA PRESEKA , 2018 .

[69]  Guilherme Horta Travassos,et al.  Evidence-Based Guidelines to Defect Causal Analysis , 2012, IEEE Software.

[70]  Lillian S Kao,et al.  Navigating towards improved surgical safety using aviation-based strategies. , 2008, The Journal of surgical research.

[71]  W. Schnotz,et al.  A Reconsideration of Cognitive Load Theory , 2007 .

[72]  H. Swanson Influence of Metacognitive Knowledge and Aptitude on Problem Solving. , 1990 .

[73]  B. Hout-Wolters,et al.  Metacognition and learning: conceptual and methodological considerations , 2006 .

[74]  Jussi K. Vaurio Human factors, human reliability and risk assessment in license renewal of a nuclear power plant , 2009, Reliab. Eng. Syst. Saf..

[75]  T. O. Nelson Metamemory: A Theoretical Framework and New Findings , 1990 .

[76]  Akhilesh Chandra,et al.  User cognitive representations: The case for an object oriented model , 1998, J. Syst. Softw..

[77]  Andrew Begel,et al.  Using psycho-physiological measures to assess task difficulty in software development , 2014, ICSE.

[78]  A. Efklides,et al.  Assessing cognitive failures , 2009 .

[79]  David P. Baker,et al.  Development and Validation of Aviation Causal Contributors for Error Reporting Systems (ACCERS) , 2007, Hum. Factors.

[80]  Brad A. Myers,et al.  A framework and methodology for studying the causes of software errors in programming systems , 2005, J. Vis. Lang. Comput..