HEDP: A Method for Early Forecasting Software Defects based on Human Error Mechanisms

10/13/2021
by   Fuqun Huang, et al.
0

As the primary cause of software defects, human error is the key to understanding, and perhaps to predicting and avoiding them. Little research has been done to predict defects on the basis of the cognitive errors that cause them. This paper proposes an approach to predicting software defects through knowledge about the cognitive mechanisms of human errors. Our theory is that the main process behind a software defect is that an error-prone scenario triggers human error modes, which psychologists have observed to recur across diverse activities. Software defects can then be predicted by identifying such scenarios, guided by this knowledge of typical error modes. The proposed idea emphasizes predicting the exact location and form of a possible defect. We conducted two case studies to demonstrate and validate this approach, with 55 programmers in a programming competition and 5 analysts serving as the users of the approach. We found it impressive that the approach was able to predict, at the requirement phase, the exact locations and forms of 7 out of the 22 (31.8 specific types of defects that were found in the code. The defects predicted tended to be common defects: their occurrences constituted 75.7 number of defects in the 55 developed programs; each of them was introduced by at least two persons. The fraction of the defects introduced by a programmer that were predicted was on average (over all programmers) 75 these predicted defects were highly persistent through the debugging process. If the prediction had been used to successfully prevent these defects, this could have saved 46.2 of forecasting the exact locations and forms of possible defects at the early phases of software development recommends the approach for substantial benefits to defect prevention and early detection.

READ FULL TEXT

page 7

page 22

research
02/02/2022

Targeted Code Inspection based on Human Errors

As a direct cause of software defects, human error is the key to underst...
research
05/16/2023

Applying Machine Learning Analysis for Software Quality Test

One of the biggest expense in software development is the maintenance. T...
research
02/06/2020

Design of the Inspection Process Using the GitHub Flow in Project Based Learning for Software Engineering and Its Practice

Project based learning (PBL) for software development (we call it softwa...
research
02/07/2019

The importance of human computer interaction in the development process of software projects

Today, software industry has a rapid growth. In order to resist the comp...
research
01/15/2022

How are Diverse End-user Human-centric Issues Discussed on GitHub?

Many software systems fail to meet the needs of the diverse end-users in...
research
03/29/2022

Requirements Elicitation in Cognitive Service for Recommendation

Nowadays, cognitive service provides more interactive way to understand ...
research
07/24/2023

Persistent-Transient Duality: A Multi-mechanism Approach for Modeling Human-Object Interaction

Humans are highly adaptable, swiftly switching between different modes t...

Please sign up or login with your details

Forgot password? Click here to reset