Defect prediction models are used to pinpoint risky software modules and understand past pitfalls that lead to defective modules. The predictions and insights that are derived from defect prediction models may not be accurate and reliable if researchers do not consider the impact of experimental components (e.g., datasets, metrics, and classifiers) of defect prediction modeling. Therefore, a lack of awareness and practical guidelines from previous research can lead to invalid predictions and unreliable insights. Through case studies of systems that span both proprietary and open-source domains, find that (1) noise in defect datasets; (2) parameter settings of classification techniques; and (3) model validation techniques have a large impact on the predictions and insights of defect prediction models, suggesting that researchers should carefully select experimental components in order to produce more accurate and reliable defect prediction models.
In today's increasingly digitalised world, software defects are enormously expensive. In 2018, the Consortium for IT Software Quality reported that software defects cost the global economy $2.84 trillion dollars and affected more than 4 billion people. The average annual cost of software defects on Australian businesses is A$29 billion per year. Thus, failure to eliminate defects in safety-critical systems could result in serious injury to people, threats to life, death, and disasters. Traditionally, software quality assurance activities like testing and code review are widely adopted to discover software defects in a software product. However, ultra-large-scale systems, such as, Google, can consist of more than two billion lines of code, so exhaustively reviewing and testing every single line of code isn't feasible with limited time and resources. This project aims to create technologies that enable software engineers to produce the highest quality software systems with the lowest operational costs. To achieve this, this project will invent an end-to-end explainable AI platform to (1) understand the nature of critical defects; (2) predict and locate defects; (3) explain and visualise the characteristics of defects; (4) suggest potential patches to automatically fix defects; (5) integrate such platform as a GitHub bot plugin.
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...Editor IJCATR
Software reliability is considered as a quantifiable metric, which is defined as the probability of a software to operate
without failure for a specified period of time in a specific environment. Various software reliability growth models have been proposed
to predict the reliability of a software. These models help vendors to predict the behaviour of the software before shipment. The
reliability is predicted by estimating the parameters of the software reliability growth models. But the model parameters are generally
in nonlinear relationships which creates many problems in finding the optimal parameters using traditional techniques like Maximum
Likelihood and least Square Estimation. Various stochastic search algorithms have been introduced which have made the task of
parameter estimation, more reliable and computationally easier. Parameter estimation of NHPP based reliability models, using MLE
and using an evolutionary search algorithm called Particle Swarm Optimization, has been explored in the paper.
With the rise of software systems ranging from personal assistance to the nation's facilities, software defects become more critical concerns as they can cost millions of dollar as well as impact human lives. Yet, at the breakneck pace of rapid software development settings (like DevOps paradigm), the Quality Assurance (QA) practices nowadays are still time-consuming. Continuous Analytics for Software Quality (i.e., defect prediction models) can help development teams prioritize their QA resources and chart better quality improvement plan to avoid pitfalls in the past that lead to future software defects. Due to the need of specialists to design and configure a large number of configurations (e.g., data quality, data preprocessing, classification techniques, interpretation techniques), a set of practical guidelines for developing accurate and interpretable defect models has not been well-developed.
The ultimate goal of my research aims to (1) provide practical guidelines on how to develop accurate and interpretable defect models for non-specialists; (2) develop an intelligible defect model that offer suggestions how to improve both software quality and processes; and (3) integrate defect models into a real-world practice of rapid development cycles like CI/CD settings. My research project is expected to provide significant benefits including the reduction of software defects and operating costs, while accelerating development productivity for building software systems in many of Australia's critical domains such as Smart Cities and e-Health.
SOFTWARE TESTING: ISSUES AND CHALLENGES OF ARTIFICIAL INTELLIGENCE & MACHINE ...ijaia
The history of Artificial Intelligence and Machine Learning dates back to 1950’s. In recent years, there has
been an increase in popularity for applications that implement AI and ML technology. As with traditional
development, software testing is a critical component of an efficient AI/ML application. However, the
approach to development methodology used in AI/ML varies significantly from traditional development.
Owing to these variations, numerous software testing challenges occur. This paper aims to recognize and
to explain some of the biggest challenges that software testers face in dealing with AI/ML applications. For
future research, this study has key implications. Each of the challenges outlined in this paper is ideal for
further investigation and has great potential to shed light on the way to more productive software testing
strategies and methodologies that can be applied to AI/ML applications.
A metrics suite for variable categorizationt to support program invariants[IJCSEA Journal
Invariants are generally implicit. Explicitly stating program invariants, help programmers to identify
program properties that must be preserved while modifying the code. Existing dynamic techniques detect
invariants which includes both relevant and irrelevant/unused variables and thereby relevant and
irrelevant invariants involved in the program. Due to the presence of irrelevant variables and irrelevant
invariants, speed and efficiency of techniques are affected. Also, displaying properties about irrelevant
variables and irrelevant invariants distracts the user from concentrating on properties of relevant
variables. To overcome these deficiencies only relevant variables are considered by ignoring irrelevant
variables. Further, relevant variables are categorized as design variables and non-design variables. For
this purpose a metrics suite is proposed. These metrics are validated against Weyuker’s principles and
applied on RFV and JLex open source software. Similarly, relevant invariants are categorized as design
invariants, non-design invariants and hybrid invariants. For this purpose a set of rules are proposed. This
entire process enormously improves the speed and efficiency of dynamic invariant detection techniques
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
In today's increasingly digitalised world, software defects are enormously expensive. In 2018, the Consortium for IT Software Quality reported that software defects cost the global economy $2.84 trillion dollars and affected more than 4 billion people. The average annual cost of software defects on Australian businesses is A$29 billion per year. Thus, failure to eliminate defects in safety-critical systems could result in serious injury to people, threats to life, death, and disasters. Traditionally, software quality assurance activities like testing and code review are widely adopted to discover software defects in a software product. However, ultra-large-scale systems, such as, Google, can consist of more than two billion lines of code, so exhaustively reviewing and testing every single line of code isn't feasible with limited time and resources. This project aims to create technologies that enable software engineers to produce the highest quality software systems with the lowest operational costs. To achieve this, this project will invent an end-to-end explainable AI platform to (1) understand the nature of critical defects; (2) predict and locate defects; (3) explain and visualise the characteristics of defects; (4) suggest potential patches to automatically fix defects; (5) integrate such platform as a GitHub bot plugin.
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...Editor IJCATR
Software reliability is considered as a quantifiable metric, which is defined as the probability of a software to operate
without failure for a specified period of time in a specific environment. Various software reliability growth models have been proposed
to predict the reliability of a software. These models help vendors to predict the behaviour of the software before shipment. The
reliability is predicted by estimating the parameters of the software reliability growth models. But the model parameters are generally
in nonlinear relationships which creates many problems in finding the optimal parameters using traditional techniques like Maximum
Likelihood and least Square Estimation. Various stochastic search algorithms have been introduced which have made the task of
parameter estimation, more reliable and computationally easier. Parameter estimation of NHPP based reliability models, using MLE
and using an evolutionary search algorithm called Particle Swarm Optimization, has been explored in the paper.
With the rise of software systems ranging from personal assistance to the nation's facilities, software defects become more critical concerns as they can cost millions of dollar as well as impact human lives. Yet, at the breakneck pace of rapid software development settings (like DevOps paradigm), the Quality Assurance (QA) practices nowadays are still time-consuming. Continuous Analytics for Software Quality (i.e., defect prediction models) can help development teams prioritize their QA resources and chart better quality improvement plan to avoid pitfalls in the past that lead to future software defects. Due to the need of specialists to design and configure a large number of configurations (e.g., data quality, data preprocessing, classification techniques, interpretation techniques), a set of practical guidelines for developing accurate and interpretable defect models has not been well-developed.
The ultimate goal of my research aims to (1) provide practical guidelines on how to develop accurate and interpretable defect models for non-specialists; (2) develop an intelligible defect model that offer suggestions how to improve both software quality and processes; and (3) integrate defect models into a real-world practice of rapid development cycles like CI/CD settings. My research project is expected to provide significant benefits including the reduction of software defects and operating costs, while accelerating development productivity for building software systems in many of Australia's critical domains such as Smart Cities and e-Health.
SOFTWARE TESTING: ISSUES AND CHALLENGES OF ARTIFICIAL INTELLIGENCE & MACHINE ...ijaia
The history of Artificial Intelligence and Machine Learning dates back to 1950’s. In recent years, there has
been an increase in popularity for applications that implement AI and ML technology. As with traditional
development, software testing is a critical component of an efficient AI/ML application. However, the
approach to development methodology used in AI/ML varies significantly from traditional development.
Owing to these variations, numerous software testing challenges occur. This paper aims to recognize and
to explain some of the biggest challenges that software testers face in dealing with AI/ML applications. For
future research, this study has key implications. Each of the challenges outlined in this paper is ideal for
further investigation and has great potential to shed light on the way to more productive software testing
strategies and methodologies that can be applied to AI/ML applications.
A metrics suite for variable categorizationt to support program invariants[IJCSEA Journal
Invariants are generally implicit. Explicitly stating program invariants, help programmers to identify
program properties that must be preserved while modifying the code. Existing dynamic techniques detect
invariants which includes both relevant and irrelevant/unused variables and thereby relevant and
irrelevant invariants involved in the program. Due to the presence of irrelevant variables and irrelevant
invariants, speed and efficiency of techniques are affected. Also, displaying properties about irrelevant
variables and irrelevant invariants distracts the user from concentrating on properties of relevant
variables. To overcome these deficiencies only relevant variables are considered by ignoring irrelevant
variables. Further, relevant variables are categorized as design variables and non-design variables. For
this purpose a metrics suite is proposed. These metrics are validated against Weyuker’s principles and
applied on RFV and JLex open source software. Similarly, relevant invariants are categorized as design
invariants, non-design invariants and hybrid invariants. For this purpose a set of rules are proposed. This
entire process enormously improves the speed and efficiency of dynamic invariant detection techniques
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
Machine Learning approaches are good in solving problems that have less information. In most cases, the
software domain problems characterize as a process of learning that depend on the various circumstances
and changes accordingly. A predictive model is constructed by using machine learning approaches and
classified them into defective and non-defective modules. Machine learning techniques help developers to
retrieve useful information after the classification and enable them to analyse data from different
perspectives. Machine learning techniques are proven to be useful in terms of software bug prediction. This
study used public available data sets of software modules and provides comparative performance analysis
of different machine learning techniques for software bug prediction. Results showed most of the machine
learning methods performed well on software bug datasets.
Comparative Performance Analysis of Machine Learning Techniques for Software ...csandit
Machine learning techniques can be used to analyse data from different perspectives and enable
developers to retrieve useful information. Machine learning techniques are proven to be useful
in terms of software bug prediction. In this paper, a comparative performance analysis of
different machine learning techniques is explored for software bug prediction on public
available data sets. Results showed most of the machine learning methods performed well on
software bug datasets.
Software analytics focuses on analyzing and modeling a rich source of software data using well-established data analytics techniques in order to glean actionable insights for improving development practices, productivity, and software quality. However, if care is not taken when analyzing and modeling software data, the predictions and insights that are derived from analytical models may be inaccurate and unreliable. The goal of this hands-on tutorial is to guide participants on how to (1) analyze software data using statistical techniques like correlation analysis, hypothesis testing, effect size analysis, and multiple comparisons, (2) develop accurate, reliable, and reproducible analytical models, (3) interpret the models to uncover relationships and insights, and (4) discuss pitfalls associated with analytical techniques including hands-on examples with real software data. R will be the primary programming language. Code samples will be available in a public GitHub repository. Participants will do exercises via either RStudio or Jupyter Notebook through Binder.
A NOVEL APPROACH TO ERROR DETECTION AND CORRECTION OF C PROGRAMS USING MACHIN...IJCI JOURNAL
There has always been a struggle for programmers to identify the errors while executing a program- be it
syntactical or logical error. This struggle has led to a research in identification of syntactical and logical
errors. This paper makes an attempt to survey those research works which can be used to identify errors as
well as proposes a new model based on machine learning and data mining which can detect logical and
syntactical errors by correcting them or providing suggestions. The proposed work is based on use of
hashtags to identify each correct program uniquely and this in turn can be compared with the logically
incorrect program in order to identify errors.
Bug triage means to transfer a new bug to expertise developer. The manual bug triage is opulent in time
and poor in accuracy, there is a need to automatize the bug triage process. In order to automate the bug triage
process, text classification techniques are applied using stopword removal and stemming. In our proposed work
we have used NB-Classifiers to predict the developers. The data reduction techniques like instance selection
and keyword selection are used to obtain bug report and words. This will help the system to predict only those
developers who are expertise in solving the assigned bug. We will also provide the change of status of bug
report i.e. if the bug is solved then the bug report will be updated. If a particular developer fails to solve the bug
then the bug will go back to another developer.
Software Defect Prediction Using Radial Basis and Probabilistic Neural NetworksEditor IJCATR
Defects in modules of software systems is a major problem in software development. There are a variety of data mining
techniques used to predict software defects such as regression, association rules, clustering, and classification. This paper is concerned
with classification based software defect prediction. This paper investigates the effectiveness of using a radial basis function neural
network and a probabilistic neural network on prediction accuracy and defect prediction. The conclusions to be drawn from this work is
that the neural networks used in here provide an acceptable level of accuracy but a poor defect prediction ability. Probabilistic neural
networks perform consistently better with respect to the two performance measures used across all datasets. It may be advisable to use
a range of software defect prediction models to complement each other rather than relying on a single technique.
Defect prediction models help software quality assurance teams to effectively allocate their limited resources to the most defect-prone software modules. Model validation techniques, such as k-fold cross-validation, use this historical data to estimate how well a model will perform in the future. However, little is known about how accurate the performance estimates of these model validation techniques tend to be. In this paper, we set out to investigate the bias and variance of model validation techniques in the domain of defect prediction. A preliminary analysis of 101 publicly available defect prediction datasets suggests that 77% of them are highly susceptible to producing unstable results. Hence, selecting an appropriate model validation technique is a critical experimental design choice. Based on an analysis of 256 studies in the defect prediction literature, we select the 12 most commonly adopted model validation techniques for evaluation. Through a case study of data from 18 systems that span both open-source and proprietary domains, we derive the following practical guidelines for future defect prediction studies: (1) the single holdout validation techniques should be avoided; and (2) researchers should use the out-of-sample bootstrap validation technique instead of holdout or the commonly-used cross-validation techniques.
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSijseajournal
Most bug assignment approaches utilize text classification and information retrieval techniques. These
approaches use the textual contents of bug reports to build recommendation models. The textual contents of
bug reports are usually of high dimension and noisy source of information. These approaches suffer from
low accuracy and high computational needs. In this paper, we investigate whether using categorical fields
of bug reports, such as component to which the bug belongs, are appropriate to represent bug reports
instead of textual description. We build a classification model by utilizing the categorical features, as a
representation, for the bug report. The experimental evaluation is conducted using three projects namely
NetBeans, Freedesktop, and Firefox. We compared this approach with two machine learning based bug
assignment approaches. The evaluation shows that using the textual contents of bug reports is important. In
addition, it shows that the categorical features can improve the classification accuracy
Defect models that are trained on class imbalanced datasets (i.e., the proportion of defective and clean modules is not equally represented) are highly susceptible to produce inaccurate prediction models. Prior research compares the impact of class rebalancing techniques on the performance of defect models but arrives at contradictory conclusions due to the use of different choice of datasets, classification techniques, and performance measures. Such contradictory conclusions make it hard to derive practical guidelines for whether class rebalancing techniques should be applied in the context of defect models. In this paper, we investigate the impact of class rebalancing techniques on performance measures and the interpretation of defect models. We also investigate the experimental settings in which class rebalancing techniques are beneficial for defect models. Through a case study of 101 datasets that span across proprietary and open-source systems, we conclude that the impact of class rebalancing techniques on the performance of defect prediction models depends on the used performance measure and the used classification techniques. We observe that the optimized SMOTE technique and the under-sampling technique are beneficial when quality assurance teams wish to increase AUC and Recall, respectively, but they should be avoided when deriving knowledge and understandings from defect models.
International Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
Software testing defect prediction model a practical approacheSAT Journals
Abstract Software defects prediction aims to reduce software testing efforts by guiding the testers through the defect classification of software systems. Defect predictors are widely used in many organizations to predict software defects in order to save time, improve quality, testing and for better planning of the resources to meet the timelines. The application of statistical software testing defect prediction model in a real life setting is extremely difficult because it requires more number of data variables and metrics and also historical defect data to predict the next releases or new similar type of projects. This paper explains our statistical model, how it will accurately predict the defects for upcoming software releases or projects. We have used 20 past release data points of software project, 5 parameters and build a model by applying descriptive statistics, correlation and multiple linear regression models with 95% confidence intervals (CI). In this appropriate multiple linear regression model the R-square value was 0.91 and its Standard Error is 5.90%. The Software testing defect prediction model is now being used to predict defects at various testing projects and operational releases. We have found 90.76% precision between actual and predicted defects.
Machine Learning approaches are good in solving problems that have less information. In most cases, the
software domain problems characterize as a process of learning that depend on the various circumstances
and changes accordingly. A predictive model is constructed by using machine learning approaches and
classified them into defective and non-defective modules. Machine learning techniques help developers to
retrieve useful information after the classification and enable them to analyse data from different
perspectives. Machine learning techniques are proven to be useful in terms of software bug prediction. This
study used public available data sets of software modules and provides comparative performance analysis
of different machine learning techniques for software bug prediction. Results showed most of the machine
learning methods performed well on software bug datasets.
Comparative Performance Analysis of Machine Learning Techniques for Software ...csandit
Machine learning techniques can be used to analyse data from different perspectives and enable
developers to retrieve useful information. Machine learning techniques are proven to be useful
in terms of software bug prediction. In this paper, a comparative performance analysis of
different machine learning techniques is explored for software bug prediction on public
available data sets. Results showed most of the machine learning methods performed well on
software bug datasets.
Software analytics focuses on analyzing and modeling a rich source of software data using well-established data analytics techniques in order to glean actionable insights for improving development practices, productivity, and software quality. However, if care is not taken when analyzing and modeling software data, the predictions and insights that are derived from analytical models may be inaccurate and unreliable. The goal of this hands-on tutorial is to guide participants on how to (1) analyze software data using statistical techniques like correlation analysis, hypothesis testing, effect size analysis, and multiple comparisons, (2) develop accurate, reliable, and reproducible analytical models, (3) interpret the models to uncover relationships and insights, and (4) discuss pitfalls associated with analytical techniques including hands-on examples with real software data. R will be the primary programming language. Code samples will be available in a public GitHub repository. Participants will do exercises via either RStudio or Jupyter Notebook through Binder.
A NOVEL APPROACH TO ERROR DETECTION AND CORRECTION OF C PROGRAMS USING MACHIN...IJCI JOURNAL
There has always been a struggle for programmers to identify the errors while executing a program- be it
syntactical or logical error. This struggle has led to a research in identification of syntactical and logical
errors. This paper makes an attempt to survey those research works which can be used to identify errors as
well as proposes a new model based on machine learning and data mining which can detect logical and
syntactical errors by correcting them or providing suggestions. The proposed work is based on use of
hashtags to identify each correct program uniquely and this in turn can be compared with the logically
incorrect program in order to identify errors.
Bug triage means to transfer a new bug to expertise developer. The manual bug triage is opulent in time
and poor in accuracy, there is a need to automatize the bug triage process. In order to automate the bug triage
process, text classification techniques are applied using stopword removal and stemming. In our proposed work
we have used NB-Classifiers to predict the developers. The data reduction techniques like instance selection
and keyword selection are used to obtain bug report and words. This will help the system to predict only those
developers who are expertise in solving the assigned bug. We will also provide the change of status of bug
report i.e. if the bug is solved then the bug report will be updated. If a particular developer fails to solve the bug
then the bug will go back to another developer.
Software Defect Prediction Using Radial Basis and Probabilistic Neural NetworksEditor IJCATR
Defects in modules of software systems is a major problem in software development. There are a variety of data mining
techniques used to predict software defects such as regression, association rules, clustering, and classification. This paper is concerned
with classification based software defect prediction. This paper investigates the effectiveness of using a radial basis function neural
network and a probabilistic neural network on prediction accuracy and defect prediction. The conclusions to be drawn from this work is
that the neural networks used in here provide an acceptable level of accuracy but a poor defect prediction ability. Probabilistic neural
networks perform consistently better with respect to the two performance measures used across all datasets. It may be advisable to use
a range of software defect prediction models to complement each other rather than relying on a single technique.
Defect prediction models help software quality assurance teams to effectively allocate their limited resources to the most defect-prone software modules. Model validation techniques, such as k-fold cross-validation, use this historical data to estimate how well a model will perform in the future. However, little is known about how accurate the performance estimates of these model validation techniques tend to be. In this paper, we set out to investigate the bias and variance of model validation techniques in the domain of defect prediction. A preliminary analysis of 101 publicly available defect prediction datasets suggests that 77% of them are highly susceptible to producing unstable results. Hence, selecting an appropriate model validation technique is a critical experimental design choice. Based on an analysis of 256 studies in the defect prediction literature, we select the 12 most commonly adopted model validation techniques for evaluation. Through a case study of data from 18 systems that span both open-source and proprietary domains, we derive the following practical guidelines for future defect prediction studies: (1) the single holdout validation techniques should be avoided; and (2) researchers should use the out-of-sample bootstrap validation technique instead of holdout or the commonly-used cross-validation techniques.
USING CATEGORICAL FEATURES IN MINING BUG TRACKING SYSTEMS TO ASSIGN BUG REPORTSijseajournal
Most bug assignment approaches utilize text classification and information retrieval techniques. These
approaches use the textual contents of bug reports to build recommendation models. The textual contents of
bug reports are usually of high dimension and noisy source of information. These approaches suffer from
low accuracy and high computational needs. In this paper, we investigate whether using categorical fields
of bug reports, such as component to which the bug belongs, are appropriate to represent bug reports
instead of textual description. We build a classification model by utilizing the categorical features, as a
representation, for the bug report. The experimental evaluation is conducted using three projects namely
NetBeans, Freedesktop, and Firefox. We compared this approach with two machine learning based bug
assignment approaches. The evaluation shows that using the textual contents of bug reports is important. In
addition, it shows that the categorical features can improve the classification accuracy
Defect models that are trained on class imbalanced datasets (i.e., the proportion of defective and clean modules is not equally represented) are highly susceptible to produce inaccurate prediction models. Prior research compares the impact of class rebalancing techniques on the performance of defect models but arrives at contradictory conclusions due to the use of different choice of datasets, classification techniques, and performance measures. Such contradictory conclusions make it hard to derive practical guidelines for whether class rebalancing techniques should be applied in the context of defect models. In this paper, we investigate the impact of class rebalancing techniques on performance measures and the interpretation of defect models. We also investigate the experimental settings in which class rebalancing techniques are beneficial for defect models. Through a case study of 101 datasets that span across proprietary and open-source systems, we conclude that the impact of class rebalancing techniques on the performance of defect prediction models depends on the used performance measure and the used classification techniques. We observe that the optimized SMOTE technique and the under-sampling technique are beneficial when quality assurance teams wish to increase AUC and Recall, respectively, but they should be avoided when deriving knowledge and understandings from defect models.
International Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
Software testing defect prediction model a practical approacheSAT Journals
Abstract Software defects prediction aims to reduce software testing efforts by guiding the testers through the defect classification of software systems. Defect predictors are widely used in many organizations to predict software defects in order to save time, improve quality, testing and for better planning of the resources to meet the timelines. The application of statistical software testing defect prediction model in a real life setting is extremely difficult because it requires more number of data variables and metrics and also historical defect data to predict the next releases or new similar type of projects. This paper explains our statistical model, how it will accurately predict the defects for upcoming software releases or projects. We have used 20 past release data points of software project, 5 parameters and build a model by applying descriptive statistics, correlation and multiple linear regression models with 95% confidence intervals (CI). In this appropriate multiple linear regression model the R-square value was 0.91 and its Standard Error is 5.90%. The Software testing defect prediction model is now being used to predict defects at various testing projects and operational releases. We have found 90.76% precision between actual and predicted defects.
Geo-Environmental Study of Kaliasaur Landslide in District Rudraprayag of Gar...inventionjournals
This paper deals with historical and massif landslide of Kaliasaur in district Rudraprayag of Garhwal Himalaya, Uttarakhand. The study area lies between the two districts of Uttarakhand state i.e., Pauri and Rudraprayag, belongs to lesser Himalaya of Garhwal Region. Kaliasaur landslide is located along Srinagar-Badrinath Highway about 15 km upstream of Srinagar at left bank of Alaknanda River. This slide is very important because it is located on NH-58 which is the only connecting road to outer world and affects daily life of the people.The main focus of the paper is to understand the nature of landslide and its causes, and finally with the help of the intensive field observation, the authors suggested treatment and concrete solution of this geo-environmental problem of the study area.
Tuition Reduction Determination Using Fuzzy Tsukamotoinventionjournals
The process of determining cuts tuition for students are usually given with the same nominal. And in this paper is the determination of the pieces tuition for students who are less able to be different, depending on how much income parents and the number of children covered. For income parents who get discounted tuition fee of IDR Rp.1,500,000 and for the number of children in these families also determine the number of pieces obtained. Tsukamoto Fuzzy system is the model used in this paper. Each input variable is divided into three membership functions. In this paper, Nine Tsukamoto Fuzzy model rules have been applied. The system also provides a consequent change of parameters if the current parameter values to be changed. The smaller the parent's income, the greater the pieces obtained. The more children insured the greater the college acquired pieces.
In the present paper, applicability and
capability of A.I techniques for effort estimation prediction has
been investigated. It is seen that neuro fuzzy models are very
robust, characterized by fast computation, capable of handling
the distorted data. Due to the presence of data non-linearity, it is
an efficient quantitative tool to predict effort estimation. The one
hidden layer network has been developed named as OHLANFIS
using MATLAB simulation environment.
Here the initial parameters of the OHLANFIS are
identified using the subtractive clustering method. Parameters of
the Gaussian membership function are optimally determined
using the hybrid learning algorithm. From the analysis it is seen
that the Effort Estimation prediction model developed using
OHLANFIS technique has been able to perform well over normal
ANFIS Model.
From the past many years many software defects prediction models are developed to solve the various issues in software project development. Software reliability is the significant in software quality which evaluates and predicts the quality of the software based on the defects prediction. Many software companies are trying to improve the software quality and also trying to reduce the cost of the software development. Rayleigh model is one of the significant models to analyze the software defects based on the generated data. Analysis of means (ANOM) is statistical technique which gives the quality assurance based on the situations. In this paper, an improved software defect prediction models (ISDPM) are used for predicting defects occur at the time of five phases such as analysis, planning, design, testing and maintenance. To improve the performance of the proposed methodology an order statistics is adopted for better prediction. The experiments are conducted on 2 synthetic projects that are used to analyze the defects.
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
Call for paper 2012, hard copy of Certificate, research paper publishing, where to publish research paper,
journal publishing, how to publish research paper, Call For research paper, international journal, publishing a paper, IJCER, journal of science and technology, how to get a research paper published, publishing a paper, publishing of journal, publishing of research paper, research and review articles, IJCER Journal, How to publish your research paper, publish research paper, open access engineering journal, Engineering journal, Mathematics journal, Physics journal, Chemistry journal, Computer Engineering, Computer Science journal, how to submit your paper, peer review journal, indexed journal, research and review articles, engineering journal, www.ijceronline.com, research journals,
yahoo journals, bing journals, International Journal of Computational Engineering Research, Google journals, hard copy of Certificate,
journal of engineering, online Submission
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...iosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
A survey of predicting software reliability using machine learning methodsIAESIJAI
In light of technical and technological progress, software has become an urgent need in every aspect of human life, including the medicine sector and industrial control. Therefore, it is imperative that the software always works flawlessly. The information technology sector has witnessed a rapid expansion in recent years, as software companies can no longer rely only on cost advantages to stay competitive in the market, but programmers must provide reliable and high-quality software, and in order to estimate and predict software reliability using machine learning and deep learning, it was introduced A brief overview of the important scientific contributions to the subject of software reliability, and the researchers' findings of highly efficient methods and techniques for predicting software reliability.
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
Software Defect Prediction Using Local and Global AnalysisEditor IJMTER
The software defect factors are used to measure the quality of the software. The software
effort estimation is used to measure the effort required for the software development process. The defect
factor makes an impact on the software development effort. Software development and cost factors are
also decided with reference to the defect and effort factors. The software defects are predicted with
reference to the module information. Module link information are used in the effort estimation process.
Data mining techniques are used in the software analysis process. Clustering techniques are used
in the property grouping process. Rule mining methods are used to learn rules from clustered data
values. The “WHERE” clustering scheme and “WHICH” rule mining scheme are used in the defect
prediction and effort estimation process. The system uses the module information for the defect
prediction and effort estimation process.
The proposed system is designed to improve the defect prediction and effort estimation process.
The Single Objective Genetic Algorithm (SOGA) is used in the clustering process. The rule learning
operations are carried out sing the Apriori algorithm. The system improves the cluster accuracy levels.
The defect prediction and effort estimation accuracy is also improved by the system. The system is
developed using the Java language and Oracle relation database environment.
Implementation of reducing features to improve code change based bug predicti...eSAT Journals
Abstract Today, we are getting plenty of bugs in the software because of variations in the software and hardware technologies. Bugs are nothing but Software faults, existing a severe challenge for system reliability and dependability. To identify the bugs from the software bug prediction is convenient approach. To visualize the presence of a bug in a source code file, recently, Machine learning classifiers approach is developed. Because of a huge number of machine learned features current classifier-based bug prediction have two major problems i) inadequate precision for practical usage ii) measured prediction time. In this paper we used two techniques first, cos-triage algorithm which have a go to enhance the accuracy and also lower the price of bug prediction and second, feature selection methods which eliminate less significant features. Reducing features get better the quality of knowledge extracted and also boost the speed of computation. Keywords: Efficiency, Bug Prediction, Classification, Feature Selection, Accuracy
Machine learning techniques can be used to analyse data from different perspectives and enable developers to retrieve useful information. Machine learning techniques are proven to be useful
in terms of software bug prediction. In this paper, a comparative performance analysis of
different machine learning techniques is explored for software bug prediction on public
available data sets. Results showed most of the machine learning methods performed well on
software bug datasets.
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
Similar to Practical Guidelines to Improve Defect Prediction Model – A Review (20)
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Fundamentals of Electric Drives and its applications.pptx
Practical Guidelines to Improve Defect Prediction Model – A Review
1. International Journal of Engineering Science Invention
ISSN (Online): 2319 – 6734, ISSN (Print): 2319 – 6726
www.ijesi.org ||Volume 5 Issue 9|| September 2016 || PP. 57-61
www.ijesi.org 57 | Page
Practical Guidelines to Improve Defect Prediction
Model – A Review
B. Dhanalaxmi 1
, Dr. G. Apparao Naidu2
, Dr.K.Anuradha3
1
Associate Professor, Institute of Aeronautical Engineering, IT Dept, Hyderabad, TS, India
2
Professor, J.B. Institute of Engineering & Technology, CSE Dept, Hyderabad, TS, India
3
Professor & HOD, GRIET, CSE Dept, Hyderabad, TS, India.
Abstract: Defect prediction models are used to pinpoint risky software modules and understand past pitfalls
that lead to defective modules. The predictions and insights that are derived from defect prediction models may
not be accurate and reliable if researchers do not consider the impact of experimental components (e.g.,
datasets, metrics, and classifiers) of defect prediction modeling. Therefore, a lack of awareness and practical
guidelines from previous research can lead to invalid predictions and unreliable insights. Through case studies
of systems that span both proprietary and open-source domains, find that (1) noise in defect datasets; (2)
parameter settings of classification techniques; and (3) model validation techniques have a large impact on the
predictions and insights of defect prediction models, suggesting that researchers should carefully select
experimental components in order to produce more accurate and reliable defect prediction models.
Keywords: Software Quality Assurance, experimental components, performance estimates, Support Vector
Machines
I. Introduction
Defect models, which identify defect-prone software modules using a variety of software metrics, serve two
main purposes. First, defect models can be used to predict modules that are likely to be defect-prone. Software
Quality Assurance (SQA) teams can use defect models in a prediction setting to effectively allocate their limited
resources to the modules that are most likely to be defective. Second, defect models can be used to understand
the impact that various software metrics have on the defect-proneness of a module.
The insights derived from defect models can help software teams to avoid past pitfalls that lead to defective
modules The predictions and insights that are derived from defect prediction models may not be accurate and
reliable if researchers do not consider the impact those experimental components (e.g., datasets, metrics, and
classifiers) of defect prediction modeling. Indeed, there exists a plethora of research that raise concerns about
the impact of experimental components on defect prediction modeling. For example, Sheppard et al. Found that
the reported performance of a defect prediction model shares a strong relationship with the group of researchers
who construct the models. Their observations suggest that many published defect prediction studies are biased,
and calls their validity into question. To assess the impact of experimental components on defect prediction
modeling, the association between the reported performance of a defect model and the used experimental
components (i.e., datasets, metrics, and classifiers) are considered. Experimental components (i.e., metrics) are
used to construct defect prediction models share a stronger relationship with the reported performance than
research group does, suggesting that experimental components of defect prediction modeling may impact the
conclusions of defect prediction studies.
This paper, investigate the impact of (1) noise in defect datasets and (2) parameter settings of classification
techniques have on the predictions and insights of defect prediction models. In addition, defect prediction
models may produce an unrealistic estimation of model performance when inaccurate and unreliable model
validation techniques are applied, which could lead to incorrect model selection in practice and unstable
conclusions of defect prediction studies. Thus, the impact of (3) model validation techniques have on the
accuracy and reliability of performance estimates that are produced by defect prediction models. .
2. Practical Guidelines To Improve Defect Prediction Model – A Review
www.ijesi.org 58 | Page
II. Typical Software Defect Prediction Model
Fig.1.Overview of Software Defect Prediction model
The main goal of most software defect prediction studies is (1) to predict where defects might appear in the
future and (2) to quantify the relative importance of various factors (i.e., independent variables) used to build a
model. Ideally, these predictions will correctly classify software artifacts (e.g., subsystems and files) as being
defect-prone or not and in some cases may also predict the number of defects, defect density (the number of
defects / SLOC) and/or the likelihood of a software artifact including a defect. Figure 1 shows an overview of
the software defect prediction process. First, data is collected from software repositories, which archive
historical data related to the development of the software project, such as source code and defect repositories.
Then, various metrics that are used as independent variables (e.g., SLOC) and a dependent variable (e.g., the
number of defects)are extracted to build a model. The relationship between the independent variables and
dependent variable is modeled using statistical techniques and machine learning techniques.
Finally, the performance of the built model is measured using several criteria such as precision, recall and AUC
(Area Under the Curve) of ROC (the Receiver Operating Characteristic).Each of the four aforementioned steps
are explained next.
A. Data
In order to build software defect prediction models, a number of metrics that make up the independent and
dependent variables are needed. Large software projects often store their development history and other
information, such as communication, in software repositories. Although the main reason for using these
repositories is to keep track of and record development history, researchers and practitioners realize that this
repository data can be used to extract software metrics. For example, prior work used the data stored in the
source control repository to count the number of changes made to a file and the complexity of changes, and
used this data to predict files that are likely to have future defects. Software defect prediction work generally
leverages various types of data from different repositories, such as (1) source code repositories, which store and
record the source code and development history of a project, (2) defect repositories, which track the bug/defect
reports or feature requests filed for a project and their resolution progress and (3) mailing list repositories, which
track the communication and discussions between development teams. Other repositories can also be leveraged
for defect prediction.
B. Metrics
When used in software defect prediction research, metrics are considered to be independent variables, which
mean that they are used to perform the prediction (i.e., the predictors). Also, metrics can represent the dependent
variables, which means they are the metrics being predicted (i.e., these can be pre- or post-release defects).
Previous defect prediction studies used a wide variety of independent variables (e.g., process, organizational or
code metrics to perform their predictions. Moreover, several different metrics were used to represent the
dependent variable as well. For example, previous work predicted different types of defects (e.g., pre-release,
post release], or both).
3. Practical Guidelines To Improve Defect Prediction Model – A Review
www.ijesi.org 59 | Page
C. Model Building
Various techniques, such as linear discriminant analysis , decision trees , Naive Bayes , Support Vector
Machines and random forest, are used to build defect prediction models. Each of the aforementioned techniques
have their own benefits (e.g., they provide models that are robust to noisy data and/or provide more explainable
models).Generally speaking, most defect prediction studies divide the data into two sets: a training set and a test
set. The training set is used to train the prediction model, whereas the testing set is used to evaluate the
performance of the prediction model.
D. Performance Evaluation
Once a prediction model is built, its performance needs to be evaluated. Performance is generally measured in
two ways: predictive power and explanative power.
Predictive Power: Predictive power measures the accuracy of the model in predicting the software artifacts that
have defects. Measures such as precision, recall, f-measure and AUCROC, which plots the false positive rate on
the x-axis and true positive rate on the y-axis over all possible classification thresholds, are commonly-used in
defect prediction studies.
Explanative Power: In addition to measuring the predictive power, explanatory power is also used in defect
prediction studies. Explanative power measures how well the variability in the data is explained by the model.
Often the R2
or deviance explained measures are used to quantify the explanative power. Explanative power is
particularly useful since it enables us to measure the variability explained by each independent variable in the
model, providing us with a ranking as to which independent variable is most “useful”.
III. Three Major Experimental Components In Defect Prediction Modeling:
This paper addresses three major experimental components in defect prediction modeling:
1. Overlooking noise generated by issue report mislabeling and investigates the impact that realistic noise
generated by issue report mislabeling has on the predictions and insights of defect prediction models.
2. Overlooking the optimal parameter settings of classification techniques and investigate the impact that
parameter settings of classification techniques have on the accuracy and reliability of the performance of
defect prediction models when automated parameter optimization is applied.
3. Overlooking the most accurate and reliable model validation techniques and investigate the impact that
model validation techniques have on the accuracy and reliability of the performance of defect prediction
models.
1) Overlooking noise generated by issue report mislabeling
Motivation
The accuracy and reliability of a prediction model depends on the quality of the data from which it was trained.
Therefore, defect prediction models may be inaccurate and unreliable if they are trained using noisy data.
Recent research shows that noise that is generated by issue report mislabeling, i.e., issue reports that describe
defects but were not classified as such (or vice versa), may impact the performance of defect models . Yet, while
issue report mislabeling is likely influenced by characteristics of the issue itself e.g., novice developers may be
more likely to mislabel an issue than an experienced developer - the prior work randomly generates mislabeled
issues.
Approach.
Investigate whether mislabeled issue reports can be accurately explained using characteristics of the issue
reports themselves, and what is the impact that a realistic amount of noise has on the predictions and insights
derived from defect models. Using the manually curated dataset of mislabeled issue reports provided by Herzig
et al. generate three types of defect datasets: (1) realistic noisy datasets that contain mislabeled issue reports as
classified manually by Herzig et al., (2) random noisy datasets that contain the same proportion of mislabeled
issue reports as contained in the realistic noisy dataset, however the mislabeled issue reports are selected at
random, and (3) clean datasets that contain no mislabeled issues.
Results
The results find that (1) issue report mislabeling is not random; (2) precision is rarely impacted by mislabeled
issue reports; (3) however, models trained on noisy data typically achieve 56%-68% of the recall of models
trained on clean data; and (4) only the metrics in top influence rank of defect models are robust to the noise
introduced by mislabeling.
4. Practical Guidelines To Improve Defect Prediction Model – A Review
www.ijesi.org 60 | Page
2) Overlooking the parameters of classification Techniques
Motivation.
Defect prediction models are classifiers that are trained to identify defect-prone software modules. Such
classifiers have configurable parameters that control their characteristics (e.g., the number of trees in a random
forest classifier). Recent studies show that these classifiers may underperform due to the use of suboptimal
default parameter settings However, it is impractical to assess all of the possible settings in the parameter
spaces.
Approach
Literature analysis reveals that 26 of the 30 most commonly-used classification techniques (87%) require at least
one parameter setting. Since such parameter settings may impact the performance of defect prediction models,
the settings should be carefully selected. then investigate the improvement and the reliability of the performance
of defect prediction models when Caret an off the-shelf automated parameter optimization technique is applied.
Caret evaluates candidate parameter settings and suggests the optimized setting that achieves the highest
performance.
Results
The results find that (1) Caret improves the AUC performance of defect prediction models by up to 40
percentage points; and (2) Caret-optimized classifiers are at least as reliable as classifiers that are trained using
the default settings. Our results lead us to conclude that parameter settings can indeed have a large impact on the
performance of defect prediction models, suggesting that researchers should experiment with the parameters of
the classification techniques.
3) Overlooking the most accurate and reliable model validation techniques
Motivation: Prediction models may provide an unrealistically optimistic estimation of model performance
when (re)applied to the same sample with which that they were trained. To address this problem, Model
Validation Techniques (MVTs) (e.g., k-fold cross-validation) are used to estimate how well a model will
perform on unseen data. Recent research has raised concerns about the accuracy (i.e.,how much do the
performance estimates differ from the ground truth?) and reliability (i.e., how much do performance estimates
vary when the experiment is repeated?) of model validation techniques when applied to defect prediction
models [9]. An optimal MVT would not overestimate or underestimate the ground truth performance. Moreover,
the performance estimates should not vary broadly when the experiment is repeated. However, little is known
about how accurate and reliable the performance estimates of MVTs tend to be.
Approach
Investigate the accuracy and the reliability of performance estimates when 10 MVTs (i.e., hold-out validation, k-
fold validation and bootstrap validation) are applied. We measure in terms of 5 threshold-dependent and -
independent performance measures (e.g., precision, recall, AUC) and evaluate using different types of
classification techniques.
Results
Find that (1) the advanced bootstrap validation is the most accurate and the most reliable model validation
technique; and (2) the holdout family is the least accurate and most reliable model validation technique in terms
of both threshold-dependent and threshold-independent performance measures.
IV. Conclusion
In this paper, the impact of experimental components has on the predictions and insights of defect prediction
models. Through case studies of systems that span both proprietary and open-source domains, demonstrate that
the experimental components (e.g., metric family) that are used to construct defect prediction models share a
stronger relationship with the reported performance than research group does. Noise generated by issue report
mislabeling has an impact on the predictions and insights of defect prediction models. Parameter settings of
classification techniques have an impact on the accuracy and reliability of the performance of defect prediction
models. Model validation techniques have an impact on the accuracy and reliability of the performance
estimates that are produced by defect prediction models.
V. Future Work
The results indicates that (1) noise in defect datasets;(2) parameter settings of classification techniques; and
(3)model validation techniques have a large impact on the predictions and insights of defect prediction models.
The researchers should
5. Practical Guidelines To Improve Defect Prediction Model – A Review
www.ijesi.org 61 | Page
1. Experiment with a broader selection of datasets and metrics in order to maximize external validity.
2. Carefully mitigate co linearity issues prior to analysis in order to maximize internal and construct validity.
3. Examine the choice of metrics when building defect prediction models in order not to produce under-
performing models.
4. Clean mislabeled issue reports in order to improve the ability to identify defective modules.
5. Interpret or make decisions based on the top influence metrics of defect prediction models when they are
trained on noisy data.
6. Apply automated parameter optimization in order to improve the performance and reliability of defect
prediction models.
7. Avoid using the holdout validation and instead opt to use the advanced bootstrap model validation
technique in order to produce more accurate and reliable performance estimates.
References
[1]. C. Bird, A. Bachmann, E. Aune, J. Du_y, A. Bernstein,V. Filkov, and P. Devanbu. Fair and Balanced? Bias in Bug-Fix Datasets. In
Proceedings of the joint meeting of the European Software Engineering Conference and the Symposium on the Foundations of
Software Engineering(ESEC/FSE), pages 121{130, 2009.
[2]. B. Ghotra, S. McIntosh, and A. E. Hassan. Revisiting the impact of classification techniques on the performance of defect prediction
models. In Proceedings of the International Conference on Software Engineering (ICSE), pages 789{800, 2015.
[3]. T. Hall, S. Beecham, D. Bowes, D. Gray, and S. Coun-sell. A Systematic Literature Review on Fault Prediction Performance in
Software Engineering. IEEE Transactions on Software Engineering, 38(6):1276{1304, Nov. 2012.
[4]. K. Herzig, S. Just, and A. Zeller. It's not a Bug, it'sa Feature: How Misclassification Impacts Bug Prediction. In Proceedings of the
International Conference on Software Engineering (ICSE), pages 392{401, 2013.
[5]. S. Kim, H. Zhang, R. Wu, and L. Gong. Dealing with noise in defect prediction. In Proceedings of the International Conference on
Software Engineering (ICSE),pages 481{490, 2011.
[6]. S. Lessmann, B. Baesens, C. Mues, and S. Pietsch.Benchmarking Classi_cation Models for Software Defect Prediction: A Proposed
Framework and Novel Findings. IEEE Transactions on Software Engineering, 34(4):485{496, 2008.
[7]. T. Menzies and M. Shepperd. Special issue on repeatable results in software engineering prediction. Empir-ical Software
Engineering, 17(1-2):1{17, 2012.
[8]. I. Myrtveit, E. Stensrud, and M. Shepperd. Reliability and validity in comparative studies of software prediction models. IEEE
Transactions on Software Engineering, 31(5):380{391, 2005.
[9]. S. Chidamber and C. Kemerer, “A metrics suite for object oriented design,” IEEE Transactions on Software Engineering, vol. 20,
no. 6, pp. 476–493, 1994.
[10]. W. W. Cohen, “Fast Effective Rule Induction,” in Proceedings of the International Conference on Machine Learning, 1995, pp.
115–123.
[11]. T. Cover and P. Hart, “Nearest neighbor pattern classification,” IEEE Transactions on Information Theory, vol. 13, no. 1, pp. 21–
27, 1967.
[12]. M. D′Ambros, M. Lanza, and R. Robbes, “Evaluating defect prediction approaches: a benchmark and an extensive comparison,”
Empirical Software Engineering, vol. 17, no. 4-5, pp. 531–577, 2012.
[13]. J. Demsar, “Statistical comparisons of classifiers over ˇ multiple data sets,” The Journal of Machine Learning Research, vol. 7, pp.
1–30, 2006.
[14]. T. G. Dietterich, “An experimental comparison of three methods for constructing ensembles of decision trees: Bagging, boosting,
and randomization,” Machine learning, vol. 40, no. 2, pp. 139–157, 2000.
[15]. L. Erlikh, “Leveraging legacy system dollars for ebusiness,” IT professional, vol. 2, no. 3, pp. 17–23, 2000.
[16]. C. Fraley and A. E. Raftery, “Bayesian regularization for normal mixture estimation and model-based clustering,” Journal of
Classification, vol. 24, no. 2, pp. 155–181, 2007.
[17]. Y. Freund and R. E. Schapire, “Experiments with a New Boosting Algorithm,” in Proceedings of the International Conference on
Machine Learning, 1996, pp. 148–156.
[18]. B. R. Gaines and P. Compton, “Induction of ripple-down rules applied to modeling large databases,” Journal of Intelligent
Information Systems, vol. 5, no. 3, pp. 211– 228, 1995.
[19]. B. Goel and Y. Singh, “Empirical investigation of metrics for fault prediction on object-oriented software,” in Computer and
Information Science. Springer, 2008, pp. 255–265.
[20]. T. Gyimothy, R. Ferenc, and I. Siket, “Empirical validation of object-oriented metrics on open source software for fault prediction,”
IEEE Transactions on Software Engineering, vol. 31, no. 10, pp. 897–910, 2005.
[21]. T. Hall, S. Beecham, D. Bowes, D. Gray, and S. Counsell, “A systematic literature review on fault prediction performance in
software engineering,” IEEE Transactions on Software Engineering, vol. 38, no. 6, pp. 1276–1304, 2012.
[22]. G. Hamerly and C. Elkan, “Learning the k in k-means,” in Advances in Neural Information Processing Systems, 2004, pp. 281–288.
[23]. K. Hammouda and F. Karray, “A comparative study of data clustering techniques,” Fakhreddine Karray University of Waterloo,
Ontario, Canada, 2000.
[24]. A. E. Hassan, “Predicting faults using the complexity of code changes,” in Proceedings of the 31st International Conference on
Software Engineering. IEEE Computer Society, 2009, pp. 78–88.
[25]. T. K. Ho, “The random subspace method for constructing decision forests,” IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 20, no. 8, pp. 832–844, 1998.
[26]. E. Jelihovschi, J. C. Faria, and I. B. Allaman, “Scottknott: A package for performing the scott- knott clustering algorithm in r,”
Trends in Applied and Computational Mathematics, vol. 15, no. 1, pp. 003–017, 2014.
[27]. T. Jiang, L. Tan, and S. Kim, “Personalized defect prediction,” in Proceedings of the 28th IEEE/ACM International Conference on
Automated Software Engineering (ASE), 2013. IEEE, 2013, pp. 279–289.
[28]. K. Kaur, K. Minhas, N. Mehan, and N. Kakkar, “Static and dynamic complexity analysis of software metrics,” World Academy of
Science, Engineering and Technology, vol. 56, p. 2009, 2009.
[29]. H. Khalid, M. Nagappan, E. Shihab, and A. E. Hassan, “Prioritizing the devices to test your app on: a case study of android game
apps,” in Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 2014,
pp. 610–620.