Machine Learning Techniques for Software Quality Assurance: A Survey
- URL: http://arxiv.org/abs/2104.14056v1
- Date: Thu, 29 Apr 2021 00:37:27 GMT
- Title: Machine Learning Techniques for Software Quality Assurance: A Survey
- Authors: Safa Omri and Carsten Sinz
- Abstract summary: We discuss various approaches in both fault prediction and test case prioritization.
Recent studies deep learning algorithms for fault prediction help to bridge the gap between programs' semantics and fault prediction features.
- Score: 5.33024001730262
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Over the last years, machine learning techniques have been applied to more
and more application domains, including software engineering and, especially,
software quality assurance. Important application domains have been, e.g.,
software defect prediction or test case selection and prioritization. The
ability to predict which components in a large software system are most likely
to contain the largest numbers of faults in the next release helps to better
manage projects, including early estimation of possible release delays, and
affordably guide corrective actions to improve the quality of the software.
However, developing robust fault prediction models is a challenging task and
many techniques have been proposed in the literature. Closely related to
estimating defect-prone parts of a software system is the question of how to
select and prioritize test cases, and indeed test case prioritization has been
extensively researched as a means for reducing the time taken to discover
regressions in software. In this survey, we discuss various approaches in both
fault prediction and test case prioritization, also explaining how in recent
studies deep learning algorithms for fault prediction help to bridge the gap
between programs' semantics and fault prediction features. We also review
recently proposed machine learning methods for test case prioritization (TCP),
and their ability to reduce the cost of regression testing without negatively
affecting fault detection capabilities.
Related papers
- Evaluating the Performance of a D-Wave Quantum Annealing System for Feature Subset Selection in Software Defect Prediction [8.626933144631955]
We use a D-Wave Quantum Processing Unit (QPU) solver as a QA solver for feature subset selection.
We evaluate the performance of this approach using multiple software defect from the AEEM, datasets, and NASA projects.
Our experimental results demonstrate that QA-based feature subset selection can enhance software defect prediction.
arXiv Detail & Related papers (2024-10-21T19:58:25Z) - Causal Reasoning in Software Quality Assurance: A Systematic Review [11.887059800587672]
This study provides a systematic review of the scientific literature on causal reasoning for SQA.
Fault localization is the activity where causal reasoning is more exploited, especially in the web services/microservices domain.
tools to favour their application are appearing at a fast pace - most of them after 2021.
arXiv Detail & Related papers (2024-08-30T10:34:11Z) - Which Combination of Test Metrics Can Predict Success of a Software Project? A Case Study in a Year-Long Project Course [1.553083901660282]
Testing plays an important role in securing the success of a software development project.
We investigate whether we can quantify the effects various types of testing have on functional suitability.
arXiv Detail & Related papers (2024-08-22T04:23:51Z) - Fuzzy Inference System for Test Case Prioritization in Software Testing [0.0]
Test case prioritization ( TCP) is a vital strategy to enhance testing efficiency.
This paper introduces a novel fuzzy logic-based approach to automate TCP.
arXiv Detail & Related papers (2024-04-25T08:08:54Z) - Learning-Augmented Algorithms with Explicit Predictors [67.02156211760415]
Recent advances in algorithmic design show how to utilize predictions obtained by machine learning models from past and present data.
Prior research in this context was focused on a paradigm where the predictor is pre-trained on past data and then used as a black box.
In this work, we unpack the predictor and integrate the learning problem it gives rise for within the algorithmic challenge.
arXiv Detail & Related papers (2024-03-12T08:40:21Z) - Using Machine Learning To Identify Software Weaknesses From Software
Requirement Specifications [49.1574468325115]
This research focuses on finding an efficient machine learning algorithm to identify software weaknesses from requirement specifications.
Keywords extracted using latent semantic analysis help map the CWE categories to PROMISE_exp. Naive Bayes, support vector machine (SVM), decision trees, neural network, and convolutional neural network (CNN) algorithms were tested.
arXiv Detail & Related papers (2023-08-10T13:19:10Z) - Applying Machine Learning Analysis for Software Quality Test [0.0]
It is critical to comprehend what triggers maintenance and if it may be predicted.
Numerous methods of assessing the complexity of created programs may produce useful prediction models.
In this paper, the machine learning is applied on the available data to calculate the cumulative software failure levels.
arXiv Detail & Related papers (2023-05-16T06:10:54Z) - SUPERNOVA: Automating Test Selection and Defect Prevention in AAA Video
Games Using Risk Based Testing and Machine Learning [62.997667081978825]
Testing video games is an increasingly difficult task as traditional methods fail to scale with growing software systems.
We present SUPERNOVA, a system responsible for test selection and defect prevention while also functioning as an automation hub.
The direct impact of this has been observed to be a reduction in 55% or more testing hours for an undisclosed sports game title.
arXiv Detail & Related papers (2022-03-10T00:47:46Z) - Non-Clairvoyant Scheduling with Predictions Revisited [77.86290991564829]
In non-clairvoyant scheduling, the task is to find an online strategy for scheduling jobs with a priori unknown processing requirements.
We revisit this well-studied problem in a recently popular learning-augmented setting that integrates (untrusted) predictions in algorithm design.
We show that these predictions have desired properties, admit a natural error measure as well as algorithms with strong performance guarantees.
arXiv Detail & Related papers (2022-02-21T13:18:11Z) - Learning Predictions for Algorithms with Predictions [49.341241064279714]
We introduce a general design approach for algorithms that learn predictors.
We apply techniques from online learning to learn against adversarial instances, tune robustness-consistency trade-offs, and obtain new statistical guarantees.
We demonstrate the effectiveness of our approach at deriving learning algorithms by analyzing methods for bipartite matching, page migration, ski-rental, and job scheduling.
arXiv Detail & Related papers (2022-02-18T17:25:43Z) - Distribution-Free, Risk-Controlling Prediction Sets [112.9186453405701]
We show how to generate set-valued predictions from a black-box predictor that control the expected loss on future test points at a user-specified level.
Our approach provides explicit finite-sample guarantees for any dataset by using a holdout set to calibrate the size of the prediction sets.
arXiv Detail & Related papers (2021-01-07T18:59:33Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.