Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Kehan Gao is active.

Publication


Featured researches published by Kehan Gao.


Software - Practice and Experience | 2011

Choosing software metrics for defect prediction: an investigation on feature selection techniques

Kehan Gao; Taghi M. Khoshgoftaar; Huanjing Wang; Naeem Seliya

The selection of software metrics for building software quality prediction models is a search‐based software engineering problem. An exhaustive search for such metrics is usually not feasible due to limited project resources, especially if the number of available metrics is large. Defect prediction models are necessary in aiding project managers for better utilizing valuable project resources for software quality improvement. The efficacy and usefulness of a fault‐proneness prediction model is only as good as the quality of the software measurement data. This study focuses on the problem of attribute selection in the context of software quality estimation. A comparative investigation is presented for evaluating our proposed hybrid attribute selection approach, in which feature ranking is first used to reduce the search space, followed by a feature subset selection. A total of seven different feature ranking techniques are evaluated, while four different feature subset selection approaches are considered. The models are trained using five commonly used classification algorithms. The case study is based on software metrics and defect data collected from multiple releases of a large real‐world software system. The results demonstrate that while some feature ranking techniques performed similarly, the automatic hybrid search algorithm performed the best among the feature subset selection methods. Moreover, performances of the defect prediction models either improved or remained unchanged when over 85were eliminated. Copyright


international conference on tools with artificial intelligence | 2010

Attribute Selection and Imbalanced Data: Problems in Software Defect Prediction

Taghi M. Khoshgoftaar; Kehan Gao; Naeem Seliya

The data mining and machine learning community is often faced with two key problems: working with imbalanced data and selecting the best features for machine learning. This paper presents a process involving a feature selection technique for selecting the important attributes and a data sampling technique for addressing class imbalance. The application domain of this study is software engineering, more specifically, software quality prediction using classification models. When using feature selection and data sampling together, different scenarios should be considered. The four possible scenarios are: (1) feature selection based on original data, and modeling (defect prediction) based on original data; (2) feature selection based on original data, and modeling based on sampled data; (3) feature selection based on sampled data, and modeling based on original data; and (4) feature selection based on sampled data, and modeling based on sampled data. The research objective is to compare the software defect prediction performances of models based on the four scenarios. The case study consists of nine software measurement data sets obtained from the PROMISE software project repository. Empirical results suggest that feature selection based on sampled data performs significantly better than feature selection based on original data, and that defect prediction models perform similarly regardless of whether the training data was formed using sampled or original data.


information reuse and integration | 2009

An empirical investigation of filter attribute selection techniques for software quality classification

Kehan Gao; Taghi M. Khoshgoftaar; Huanjing Wang

Attribute selection is an important activity in data preprocessing for software quality modeling and other data mining problems. The software quality models have been used to improve the fault detection process. Finding faulty components in a software system during early stages of software development process can lead to a more reliable final product and can reduce development and maintenance costs. It has been shown in some studies that prediction accuracy of the models improves when irrelevant and redundant features are removed from the original data set. In this study, we investigated four filter attribute selection techniques, Automatic Hybrid Search (AHS), Rough Sets (RS), Kolmogorov-Smirnov (KS) and Probabilistic Search (PS) and conducted the experiments by using them on a very large telecommunications software system. In order to evaluate their classification performance on the smaller subsets of attributes selected using different approaches, we built several classification models using five different classifiers. The empirical results demonstrated that by applying an attribution selection approach we can build classification models with an accuracy comparable to that built with a complete set of attributes. Moreover, the smaller subset of attributes has less than 15 percent of the complete set of attributes. Therefore, the metrics collection, model calibration, model validation, and model evaluation times of future software development efforts of similar systems can be significantly reduced. In addition, we demonstrated that our recently proposed attribute selection technique, KS, outperformed the other three attribute selection techniques.


IEEE Transactions on Reliability | 2007

A Comprehensive Empirical Study of Count Models for Software Fault Prediction

Kehan Gao; Taghi M. Khoshgoftaar

Count models, such as the Poisson regression model, and the negative binomial regression model, can be used to obtain software fault predictions. With the aid of such predictions, the development team can improve the quality of operational software. The zero-inflated, and hurdle count models may be more appropriate when, for a given software system, the number of modules with faults are very few. Related literature lacks quantitative guidance regarding the application of count models for software quality prediction. This study presents a comprehensive empirical investigation of eight count models in the context of software fault prediction. It includes comparative hypothesis testing, model selection, and performance evaluation for the count models with respect to different criteria. The case study presented is that of a full-scale industrial software system. It is observed that the information obtained from hypothesis testing, and model selection techniques was not consistent with the predictive performances of the count models. Moreover, the comparative analysis based on one criterion did not match that of another criterion. However, with respect to a given criterion, the performance of a count model is consistent for both the fit, and test data sets. This ensures that, if a fitted model is considered good based on a given criterion, then the model will yield a good prediction based on the same criterion. The relative performances of the eight models are evaluated based on a one-way anova model, and Tukeys multiple comparison technique. The comparative study is useful in selecting the best count model for estimating the quality of a given software system


international conference on machine learning and applications | 2009

Feature Selection with Imbalanced Data for Software Defect Prediction

Taghi M. Khoshgoftaar; Kehan Gao

In this paper, we study the learning impact of data sampling followed by attribute selection on the classification models built with binary class imbalanced data within the scenario of software quality engineering. We use a wrapper-based attribute ranking technique to select a subset of attributes, and the random undersampling technique (RUS) on the majority class to alleviate the negative effects of imbalanced data on the prediction models. The datasets used in the empirical study were collected from numerous software projects. Five data preprocessing scenarios were explored in these experiments, including: (1) training on the original, unaltered fit dataset, (2) training on a sampled version of the fit dataset, (3) training on an unsampled version of the fit dataset using only the attributes chosen by feature selection based on the unsampled fit dataset, (4) training on an unsampled version of the fit dataset using only the attributes chosen by feature selection based on a sampled version of the fit dataset, and (5) training on a sampled version of the fit dataset using only the attributes chosen by feature selection based on the sampled version of the fit dataset. We compared the performances of the classification models constructed over these five different scenarios. The results demonstrate that the classification models constructed on the sampled fit data with or without feature selection (case 2 and case 5) significantly outperformed the classification models built with the other cases (unsampled fit data). Moreover, the two scenarios using sampled data (case 2 and case 5) showed very similar performances, but the subset of attributes (case 5) is only around 15% or 30% of the complete set of attributes (case 2).


Information Systems Frontiers | 2014

A comparative study of iterative and non-iterative feature selection techniques for software defect prediction

Taghi M. Khoshgoftaar; Kehan Gao; Amri Napolitano; Randall Wald

Two important problems which can affect the performance of classification models are high-dimensionality (an overabundance of independent features in the dataset) and imbalanced data (a skewed class distribution which creates at least one class with many fewer instances than other classes). To resolve these problems concurrently, we propose an iterative feature selection approach, which repeated applies data sampling (in order to address class imbalance) followed by feature selection (in order to address high-dimensionality), and finally we perform an aggregation step which combines the ranked feature lists from the separate iterations of sampling. This approach is designed to find a ranked feature list which is particularly effective on the more balanced dataset resulting from sampling while minimizing the risk of losing data through the sampling step and missing important features. To demonstrate this technique, we employ 18 different feature selection algorithms and Random Undersampling with two post-sampling class distributions. We also investigate the use of sampling and feature selection without the iterative step (e.g., using the ranked list from a single iteration, rather than combining the lists from multiple iterations), and compare these results from the version which uses iteration. Our study is carried out using three groups of datasets with different levels of class balance, all of which were collected from a real-world software system. All of our experiments use four different learners and one feature subset size. We find that our proposed iterative feature selection approach outperforms the non-iterative approach.


information reuse and integration | 2005

Application of fuzzy expert system in test case selection for system regression test

Zhiwei Xu; Kehan Gao; Taghi M. Khoshgoftaar

Effective system test for consecutive releases of modern telecommunications system relies heavily on the selection of the test cases, because running all test cases in an existing test suite will consume an inordinate amount of time and money. Although many test selection techniques have been proposed on how to select test cases so that the number of test cases does not grow too large as the software evolves, to our knowledge they are all based on the assumption that the analysis of the source code is available. Very few studies have been made to explore the possibility of selecting test cases when the information of the source code is not available to testers. We present using fuzzy expert systems to solve the problem. The fuzzy expert system will resemble a human judgment via correlating knowledge that represents one or more of the following: customer profile, analysis of past test results, system failure rate, and wherever possible change in system architecture, to identify potentially critical test cases for system test. We piloted this fuzzy expert system in large telecommunication systems and the results showed that test effectiveness and efficiency was significantly improved.


Software Quality Journal | 2012

Predicting high-risk program modules by selecting the right software measurements

Kehan Gao; Taghi M. Khoshgoftaar; Naeem Seliya

A timely detection of high-risk program modules in high-assurance software is critical for avoiding the high consequences of operational failures. While software risk can initiate from external sources, such as management or outsourcing, software quality is adversely affected when internal software risks are realized, such as improper practice of standard software processes or lack of a defined software quality infrastructure. Practitioners employ various techniques to identify and rectify high-risk or low-quality program modules. Effectiveness of detecting such modules is affected by the software measurements used, making feature selection an important step during software quality prediction. We use a wrapper-based feature ranking technique to select the optimal set of software metrics to build defect prediction models. We also address the adverse effects of class imbalance (very few low-quality modules compared to high-quality modules), a practical problem observed in high-assurance systems. Applying a data sampling technique followed by feature selection is a relatively unique contribution of our work. We present a comprehensive investigation on the impact of data sampling followed by attribute selection on the defect predictors built with imbalanced data. The case study data are obtained from several real-world high-assurance software projects. The key results are that attribute selection is more efficient when applied after data sampling, and defect prediction performance generally improves after applying data sampling and feature selection.


Information Sciences | 2014

System regression test planning with a fuzzy expert system

Zhiwei Xu; Kehan Gao; Taghi M. Khoshgoftaar; Naeem Seliya

An effective system testing activity for consecutive releases of very large software systems depends considerably on the selection of test cases for execution. From a practical point of view, it is not feasible to run all possible test cases because of the real-world constraints of limited time, human and monetary resources. While existing techniques for test case selection provide methods to limit the growth of the number of test cases with software evolution, many of them are based on the assumption that source code analysis is available. Very few works have explored the problem of test case selection given the constraint that source code analysis is not available. We propose fuzzy expert systems as an effective solution to the problem. Fuzzy expert systems have the ability to emulate fuzzy human reasoning and judgment processes. The proposed fuzzy expert system identifies potentially critical test cases for system test by correlating knowledge represented by one or more of the following: customer profile, analysis of past test case results, system failure rate, and change in system architecture. We piloted this fuzzy expert system in a large telecommunications system and the results show that test effectiveness and efficiency is significantly improved.


IEEE Transactions on Reliability | 2007

Count Models for Software Quality Estimation

Taghi M. Khoshgoftaar; Kehan Gao

Identifying which software modules, during the software development process, are likely to be faulty is an effective technique for improving software quality. Such an approach allows a more focused software quality & reliability enhancement endeavor. The development team may also like to know the number of faults that are likely to exist in a given program module, i.e., a quantitative quality prediction. However, classification techniques such as the logistic regression model (lrm) cannot be used to predict the number of faults. In contrast, count models such as the Poisson regression model (prm), and the zero-inflated Poisson (zip) regression model can be used to obtain both a qualitative classification, and a quantitative prediction for software quality. In the case of the classification models, a classification rule based on our previously developed generalized classification rule is used. In the context of count models, this study is the first to propose a generalized classification rule. Case studies of two industrial software systems are examined, and for each we developed two count models, (prm, and zip), and a classification model (lrm). Evaluating the predictive capabilities of the models, we concluded that the prm, and the zip models have similar classification accuracies as the lrm. The count models are also used to predict the number of faults for the two case studies. The zip model yielded better fault prediction accuracy than the prm. As compared to other quantitative prediction models for software quality, such as multiple linear regression (mlr), the prm, and zip models have a unique property of yielding the probability that a given number of faults will occur in any module

Collaboration


Dive into the Kehan Gao's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Amri Napolitano

Florida Atlantic University

View shared research outputs
Top Co-Authors

Avatar

Huanjing Wang

Western Kentucky University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jason Van Hulse

Florida Atlantic University

View shared research outputs
Top Co-Authors

Avatar

Randall Wald

Florida Atlantic University

View shared research outputs
Top Co-Authors

Avatar

Yudong Xiao

Florida Atlantic University

View shared research outputs
Top Co-Authors

Avatar

Zhiwei Xu

University of Michigan

View shared research outputs
Top Co-Authors

Avatar

Hua Lin

Florida Atlantic University

View shared research outputs
Top Co-Authors

Avatar

Lofton A. Bullard

Florida Atlantic University

View shared research outputs
Researchain Logo
Decentralizing Knowledge