An ant colony optimization algorithm to improve software quality prediction models: Case of class stability (original) (raw)

Evaluating predictive quality models derived from software measures: Lessons learned

Journal of Systems and Software, 1997

This paper describes an empirical comparison of several modeling techniques for predicting the quality of software components early in the software life cycle. Using software product measures, we built models that classify components as high-risk, i.e., likely to contain faults, or low-risk, i.e., likely to be free of faults.

Prospects and Challenges of using Machine Learning Algorithms for Software Quality Assessment and Prediction

International Journal of Computer Applications, 2015

Maintainability of the software is one of the key quality while evaluating software product. Of the overall software development cost, major stake is employed at the maintenance phase. Maintenance time of software is always greater than its development time, so it becomes essential to measure the maintainability of software so that maintenance operational time can be brought down.While going over the prevailing knowledge of literature it is understood that maintenance cost can be regulated by using software metrics at the design phase. There is substantial works in proving that machine learning algorithms is a suitable alternative for many domains of computational sciences including software engineering. This paper is aimed at carrying out a detailed study on the usage of machine learning approaches in the prediction, assessment and evaluation of software maintainability

A Study Using Machine Learning Techniques to Predict Software Quality

International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 2022

Software quality estimation is an activity needed at various stages of software development. It may be used for planning the project`s quality assurance practices and for benchmarking. In earlier previous studies, two methods (Multiple Criteria Linear Programming and Multiple Criteria Quadratic Programming) for estimating the quality of software had been used. Also, C5.0, SVM and Neutral network were experimented with for quality estimation. These studies have relatively low accuracies. In this study, we aimed to improve estimation accuracy by using relevant features of a large dataset. We used a feature selection method and correlation matrix for reaching higher accuracies. In addition, we have experimented with recent methods shown to be successful for other prediction tasks. Machine learning algorithms such as XGBoost, Random Forest, Decision Tree, Logistic Regression and Naïve Bayes are applied to the data to predict the software quality and reveal the relation between the quality and development attributes. The experimental results show that the quality level of software can be well estimated by machine learning algorithms.

Combining software quality predictive models: an evolutionary approach

2002

During the past ten years, a large number of quality models have been proposed in the literature. In general, the goal of these models is to predict a quality factor starting from a set of direct measures. The lack of data behind these models makes it hard to generalize, to cross-validate, and to reuse existing models. As a consequence, for a company, selecting an appropriate quality model is a difficult, non-trivial decision. In this paper, we propose a general approach and a particular solution to this problem. The main idea is to combine and adapt existing models (experts) in such way that the combined model works well on the particular system or in the particular type of organization. In our particular solution, the experts are assumed to be decision tree or rule-based classifiers and the combination is done by a genetic algorithm. The result is a white-box model: for each software component, not only the model gives the prediction of the software quality factor, but it also provides the expert that was used to obtain the prediction. Test results indicate that the proposed model performs significantly better than individual experts in the pool.

Predictive Software Model for Quality Assessment

International Journal for Research in Applied Science and Engineering Technology IJRASET, 2020

Tender usually refers to the process whereby governments invite offers for plenty of projects that must be submitted within a finite deadline. Tendering is the process of providing an offer, bid or proposal, or expressing interest in response to an invitation or request for tender. This paper proposes a machine-learning-inspired approach that can be used to predict the defects in a cost-effective manner. The outcome of such a prediction can help to assess which supplier is likely to offer the best value for a specific project. This should also reduce tender costs. The prediction of defects within the target project supported knowledge from different comes is named Cross Project Defect Prediction (CPDP). The main purpose of CPDP is to predict defect-prone instances (such as classes) in a project (files, packages) based on the defect data collected from other projects on those public software repositories like a promise. In this paper, A software Model for the Tender website is created using the CPDP Algorithm, which helps to analyze, overcome defect and produce a Quality project.

Towards a generic model for software quality prediction

… of the 6th international workshop on …, 2008

Various models and techniques have been proposed and applied in literature for software quality prediction. Specificity of each suggested model is one of the impediments in development of a generic model. A few models have been quality factor specific whereas others are software development paradigm specific. The models can even be company specific or domain specific. The amount of work done for software quality prediction compels the researchers to get benefit from the existing models and develop a relatively generic model. Development of a generic model will facilitate the quality managers by letting them focus on how to improve the quality instead of employing time on deciding which technique best suites their scenario. This paper suggests a generic model which takes software as input and predicts a quality factor value using existing models. This approach captures the specificity of existing models in various dimensions (like quality factor, software development paradigm, and software development life cycle phase etc.), and calculates quality factor value based on the model with higher accuracy. Application of the model has been discussed with the help of an example.

Software Quality Modeling with Limited Apriori Defect Data

Concepts, Methodologies, Tools, and Applications, 2009

Data mining and machine learning have numerous practical applications across several domains, especially for classification and prediction problems. This chapter involves a data mining and machine learning problem in the context of software quality modeling and estimation. Software measurements and software fault (defect) data have been used in the development of models that predict

A Novel Software Quality Prediction System Based on Incorporating Iso 9126 with Machine Learning

2016

To begin with, this research defines Software Quality Prediction System (SQPS) as a system composed of a Classification Algorithm (CA) and a Software Quality Measurement Model (SQMM). Machine Learning applications in software quality measurement are expanding as research intensifies in two directions, the first direction focuses on improving the performance of CAs while the other direction concentrates on improving SQMMs. Despite of the increasing attention in this area, some well-designed SQPSs showed considerable false predictions, which could be explained by faults in the design of the CA, the SQMM, or the SQPS as a whole. In this context, there is a debate on which CA is better for measuring software quality, as well as there is a debate on which SQMM to follow. To start with, the research studied an original dataset of 7311 software projects. Then, the research derived quality measurements from the ISO 9126 Quality Model and developed the SQMM accordingly. Next, the research co...

Data Mining Techniques for Software Quality Prediction

Concepts, Methodologies, Tools, and Applications, 2014

In the present time, software plays a vital role in business, governance, and society in general, so a continuous improvement of software productivity and quality such as reliability, robustness, etc. is an important goal of software engineering. During software development, a large amount of data is produced, such as software attribute repositories and program execution trace, which may help in future development and project management activities. Effective software development needs quantification, measurement, and modelling of previous software artefacts. The development of large and complex software systems is a formidable challenge which requires some additional activities to support software development and project management processes. In this scenario, data mining can provide a helpful hand in the software development process. This chapter discusses the application of data mining in software engineering and includes static and dynamic defect detection, clone detection, maintenance, etc. It provides a way to understand the software artifacts and processes to assist in software engineering tasks.