Spectrum Enhanced Fault Localization with Artificial Intelligence Paradigm for Software Diagnosis

P. Merlin
2019 International Journal for Research in Applied Science and Engineering Technology  
Troubleshooting is an important part of software development. It starts when a bug is detected, for example, when testing the system and ends when the relevant source code is fixed. Among different researches, a paradigm has been presented to incorporate Artificial Intelligence (AI) in the modern software troubleshooting process. This paradigm have been used some methods named as Learn, Diagnose and Plan (LDP) and integrated three AI technologies. However, this approach is required for
more » ... its performance of diagnosis accuracy. Hence, in this paper, LDP paradigm is incorporated the Spectrum-based Fault Localization (SFL)-based software diagnosis to improve the diagnosis accuracy. SFL is a statistical method which aims at guiding software developers to find faults quickly by providing a ranking of the most probable faulty components. In this approach, a training set is a set of Software Components (SCs) and a labeling that denotes which components are faulty and which are not. After that, the diagnoser is integrated with the Spectrum Enhanced Dynamic Slicing fault prediction model. The input to the diagnoser is the observed system behavior in the form of a set of tests that are executed and their result-pass or fail. Test planner accepts the set of diagnoses outputted by the diagnoser and if required, suggests additional tests that the tester should perform to discover the correct diagnosis. The experimental results show that the proposed approach provides better results. The experimental results show that the proposed approach provides better results. ©IJRASET: All Rights are Reserved 209 II. RELATED WORK A combination of Artificial Intelligence (AI) techniques [5] was presented to improve software testing. Once a test fails, a modelbased diagnosis (MBD) technique was utilized to propose a group of possible explanations and it was called diagnoses. A planning technique was used to suggest further tests for discovering the correct diagnosis. A tester was performed these tests and reports their result back to the MBD technique that was used this information to prune incorrect diagnoses. The iterative process was continued until the correct diagnosis was returned. Automated software fault detection [6] was developed using semi-supervised hybrid selforganizing map for identifying defect proneness of modules with software projects with high accuracy and enhancing detection model generalization ability. The benefit of this approach was the ability for predicting the label of the modules with semisupervised manner via software measurement threshold values with the absence of quality data. The task of expert to recognize fault prone modules becomes less critical and more supportive. The application of hybrid artificial neural network (ANN) and Quantum Particle Swarm Optimization (QPSO) [7] were investigated in software fault-proneness prediction. ANN was employed for classifying software modules into fault-proneness or non faultproneness categories and QPSO was applied for decreasing dimensionality. Bayesian Regularization technique [8] was used to find the software faults before the testing process. This technique was used to decrease the cost of software testing and reduce a combination of squared errors and weights. The proposed approach based neural network was used to find the results on the given public dataset. Random forest and support vector machines [9] were used for regression making use of a rule extraction approach ALPA. The proposed technique was built trees based on C4.5 and REPTree that mimic the black-box model as closely as possible. This technique was applied for publicly available data sets, completed and new datasets that this paper was put together by the Android repository. The usefulness of package-modularization metrics (PMMs) [10] were examined for predicting the fault-proneness of package in object-oriented software systems. Initially, this paper was used principal component analysis for analyzing whether PMMs capture additional information compared with traditional package-level metrics, integrating source code size and Martin's metrics suite. Then, univariate prediction models were used for investigating how PMMs were associated with package faultproneness. Multivariate prediction models were built for examining the ability of PMMs to predict fault-proneness. Software fault prediction techniques [11] were used to improve software diagnosis. The resulting data-augmented diagnosis technique overcomes key issues with software diagnosis techniques: ranking diagnosis and distinguishing between diagnoses with high and low probability. The experimental result was demonstrated the effectiveness of this approach empirically on three open sources domain and shown significant increase with accuracy of diagnosis and efficiency of troubleshooting. A quality assurance activity named software fault prediction [12] was discussed to decrease development cost and improve software quality. The aim of this paper was to investigate change metrics in conjunction with code metrics for improving performance of fault prediction models. Machine learning techniques were applied in conjunction with the change and source code metrics to built fault prediction models. The classification technique and new change metrics was performed efficiently.
doi:10.22214/ijraset.2019.1036 fatcat:llekbzr5ivfydl7s76td4dpoqe