• "If we knew what it was we were doing, it would not be called research, would it?"
    Albert Einstein

     Blogs  Contact

Faults Causes Software Failure

Nowadays, world relies on software heavily so it should be reliable. The fewer faults the software has, more reliable it is. A fault is a problem in software which when runs causes a failure. Fault proneness is a part of software having faults.

"The fault prediction is defined as one major area to predict the probability that the software contains fault"

The demand for development of good quality of software has been grown rapidly in the last decade. This increases use of machine learning methods for assessing and analyzing domain data set. Different methods can be used in developing models for estimating software quality attributes such as maintenance effort, testing effort and fault proneness.

Many techniques have been imposed to predict the fault proneness of modules. Choosing the appropriate method involves performance assessment and detailed comparison. But it is not simple due to varying applicability measures.

The primarily software Fault prediction is a proven technique in achieving high software reliability. These models stationed on software metrics can predict number of faults in software modules. Timely predictions of such models can be used to direct cost-effective and quality enhancement effort that are likely to have number of faults.

Methodologies for precise evaluation of fault prediction should be at the core of research. Most fault prediction techniques rely on historical data. The following are the techniques used to evaluate Fault Prediction:

  1. PCA: Principal Component Analysis: it can be used to identify and eliminate redundant metrics.

  2. SLR: Systematic Literature Review, It is well established in medical research and increasingly in software engineering. The aim is to analyze the models used to predict faults in source code.

  3. Receiver Operating Characteristic: It allows user to define the threshold parameters in order to generate appropriate model in predicting software quality.

  4. Overall Accuracy and Error Rate: It measures the chance of correctly predicting the fault proneness of individual modules.

  5. Sensitivity, Specificity and Precision: All three measures tell one sided- story, sensitivity gives the classification accuracy for faulty modules. Specificity provides correct classification rate of fault free modules. Precision measures the chance of correctly predicting faulty modules among modules classified as fault- prone.