Post-Completion Error in Software Development

Post-completion errors have been observed in a variety of tasks by psychologists, but there is a lack of empirical studies in software engineering. This paper investigates whether post-completion errors occur in software development and the likelihood that software developers commit this error when a post-completion scenario is presented. An experimental study was conducted in the context of a programming contest. In the experiment, a programming task specification that contained a post-completion sub-task requirement was presented to the subjects. The results showed that 41.82% of the subjects committed the post-completion error in the same way¬—forgetting to design and implement a software requirement which is supposed to be the last sub-task and is not necessary for the completion of the main sub-task. This percentage of subjects committing the post-completion error was significantly higher than that of subjects committing other errors. This study has confirmed that post-completion error occurs in software development and, moreover, different software developers tend to commit this error in the same way with a high likelihood at the location where a post-completion scenario is presented. Strategies are proposed to prevent post-completion errors in software development.

[1]  Ann Blandford,et al.  Formally Justifying User-Centred Design Rules: A Case Study on Post-completion Errors , 2004, IFM.

[2]  Ann Blandford,et al.  Working Memory Load Affects Device-Specific but Not Task-Specific Error Rates , 2010 .

[3]  A. Fuqun Huang,et al.  A Taxonomy System to Identify Human Error Causes for Software Defects , 2012 .

[4]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

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

[6]  Michael D. Byrne,et al.  Cue effectiveness in mitigating postcompletion errors in a routine procedural task , 2008, Int. J. Hum. Comput. Stud..

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

[8]  Ann Blandford,et al.  Post-Completion Errors in Problem Solving , 2005 .

[9]  J. Shaoul Human Error , 1973, Nature.

[10]  Raj M. Ratwani,et al.  A memory for goals model of sequence errors , 2011, Cognitive Systems Research.

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

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

[13]  Paul A. Cairns,et al.  A taxonomy of number entry error , 2011, BCS HCI.

[14]  LiuBin,et al.  The impact of software process consistency on residual defects , 2015 .

[15]  Raj M. Ratwani,et al.  A Generalized Model for Predicting Postcompletion Errors , 2010, Top. Cogn. Sci..

[16]  Gavriel Salvendy,et al.  Quantitative and qualitative differences between experts and novices in chunking computer software knowledge , 1994, Int. J. Hum. Comput. Interact..

[17]  Michael D. Byrne A Mechanism-Based Framework for Predicting Routine Procedural Errors , 2003 .

[18]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[19]  Françoise Détienne,et al.  Design Strategies and Knowledge in Object-Oriented Programming: Effects of Experience , 1995, Hum. Comput. Interact..

[20]  Wilhelm Frederik van der Vegte,et al.  Towards Improved User-Product Testing With Cognitively Enhanced Scenarios , 2012 .

[21]  Ann Blandford,et al.  Using a verification system to reason about post-completion errors , 2000 .

[22]  Meine van der Meulen,et al.  The Effectiveness of Software Diversity in a Large Population of Programs , 2008, IEEE Transactions on Software Engineering.

[23]  Jens Rasmussen,et al.  Skills, rules, and knowledge; signals, signs, and symbols, and other distinctions in human performance models , 1983, IEEE Transactions on Systems, Man, and Cybernetics.

[24]  D. Kieras,et al.  MODELING HUMAN ERROR FOR EXPERIMENTATION , TRAINING , AND ERROR-TOLERANT DESIGN , 2002 .

[25]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

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

[27]  Fuqun Huang,et al.  Systematically Improving Software Reliability: Considering Human Errors of Software Practitioners , 2011 .

[28]  Raj M. Ratwani,et al.  A Real-Time Eye Tracking System for Predicting and Preventing Postcompletion Errors , 2011, Hum. Comput. Interact..

[29]  Simon Y. W. Li,et al.  Working Memory and the Detection of Different Error Types: Novel Predictions for Error Detection , 2015, CHI Extended Abstracts.

[30]  Ann Blandford,et al.  Further investigations into post-completion error : the effects of interruption position and duration , 2006 .

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

[32]  Anna Louise Cox,et al.  The Effect of Repeated Cue Exposure on Post-Completion Errors , 2011, CogSci.

[33]  Ann Blandford,et al.  Does Being Motivated to Avoid Procedural Errors Influence Their Systematicity , 2007 .

[34]  Michael D. Byrne,et al.  A Working Memory Model of a Common Procedural Error , 1997, Cogn. Sci..

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