67 research outputs found
Change-proneness datasets
I performed pre-processing methods on refactoring datasets proposed in (Empirical evaluation of software maintainability based on a manually validated refactoring dataset) by PéterHegedűs et al. The new version of these datasets support Change-proneness study
Predicting software maintainability in object-oriented systems using ensemble techniques
Prediction of the maintainability of classes in object-oriented systems is a significant factor for software success, however it is a challenging task to achieve. To date, several machine learning models have been applied with variable results and no clear indication of which techniques are more appropriate. With the goal of achieving more consistent results, this paper presents the first set of results in an extensive empirical study designed to evaluate the capability of bagging models to increase accuracy prediction over individual models. The study compares two major machine learning based approaches for predicting software maintainability: individual models (regression tree, multilayer perceptron, k-nearest neighbors and m5rules), and an ensemble model (bagging) that are applied to the QUES data set. The results obtained from this study indicate that k-nearest neighbors model outperformed all other individual models. The bagging ensemble model improved accuracy prediction significantly over almost all individual models, and the bagging ensemble models with k-nearest neighbors as a base model achieved superior accurate prediction. This paper also provides a description of the planned programme of research which aims to investigate the performance over various datasets of advanced (ensemble-based) machine learning models
Software maintainability prediction
The pre-processing techniques were applied in the bug prediction datasets published in http://bug.inf.usi.ch/download.php by D'Ambros et al to produce a new version of these datasets that are suitable for software maintainability prediction. The independent variables are CK and OO metrics and the dependent variables is CHANGE metric
The impact of ensemble techniques on software maintenance change prediction : an empirical study
Various prediction models have been proposed by researchers to predict the change-proneness of classes based on source code metrics. However, some of these models suffer from low prediction accuracy because datasets exhibit high dimensionality or imbalanced classes. Recent studies suggest that using ensembles to integrate several models, select features, or perform sampling has the potential to resolve issues in the datasets and improve the prediction accuracy. This study aims to empirically evaluate the effectiveness of the ensemble models, feature selection, and sampling techniques on predicting change-proneness using different metrics. We conduct an empirical study to compare the performance of four machine learning models (naive Bayes, support vector machines, k-nearest neighbors, and random forests) on seven datasets for predicting change-proneness. We use two types of feature selection (relief and Pearson’s correlation coefficient) and three types of ensemble sampling techniques, which integrate different types of sampling techniques (SMOTE, spread sub-sample, and randomize). The results of this study reveal that the ensemble feature selection and sampling techniques yield improved prediction accuracy over most of the investigated models, and using sampling techniques increased the prediction accuracy of all models. Random forests provide a significant improvement over other prediction models and obtained the highest value of the average of the area under curve in all scenarios. The proposed ensemble feature selection and sampling techniques, along with the ensemble model (random forests), were found beneficial in improving the prediction accuracy of change-proneness
Application of ensemble techniques in predicting object-oriented software maintainability
While prior object-oriented software maintainability literature acknowledges the role of machine learning techniques as valuable predictors of potential change, the most suitable technique that achieves consistently high accuracy remains undetermined. With the objective of obtaining more consistent results, an ensemble technique is investigated to advance the performance of the individual models and increase their accuracy in predicting software maintainability of the object-oriented system. This paper describes the research plan for predicting object-oriented software maintainability using ensemble techniques. First, we present a brief overview of the main research background and its different components. Second, we explain the research methodology. Third, we provide expected results. Finally, we conclude summary of the current status
A systematic literature review of machine learning techniques for software maintainability prediction
Context: Software maintainability is one of the fundamental quality attributes of software engineering. The accurate prediction of software maintainability is a significant challenge for the effective management of the software maintenance process. Objective: The major aim of this paper is to present a systematic review of studies related to the prediction of maintainability of object-oriented software systems using machine learning techniques. This review identifies and investigates a number of research questions to comprehensively summarize, analyse and discuss various viewpoints concerning software maintainability measurements, metrics, datasets, evaluation measures, individual models and ensemble models. Method: The review uses the standard systematic literature review method applied to the most common computer science digital database libraries from January 1991 to July 2018. Results: We survey 56 relevant studies in 35 journals and 21 conference proceedings. The results indicate that there is relatively little activity in the area of software maintainability prediction compared with other software quality attributes. CHANGE maintenance effort and the maintainability index were the most commonly used software measurements (dependent variables) employed in the selected primary studies, and most made use of class-level product metrics as the independent variables. Several private datasets were used in the selected studies, and there is a growing demand to publish datasets publicly. Most studies focused on regression problems and performed k-fold cross-validation. Individual prediction models were employed in the majority of studies, while ensemble models relatively rarely. Conclusion: Based on the findings obtained in this systematic literature review, ensemble models demonstrated increased accuracy prediction over individual models, and have been shown to be useful models in predicting software maintainability. However, their application is relatively rare and there is a need to apply these, and other models to an extensive variety of datasets with the aim of improving the accuracy and consistency of results
Determining the Best Prediction Accuracy of Software Maintainability Models Using Auto-WEKA
Investigating the use of ensemble techniques in predicting object-oriented software maintainability
Context: Prediction of the maintainability of classes in object-oriented systems is a significant factor for software success; however, it is a challenging task. Although prior object-oriented software maintainability literature acknowledges the role of machine learning techniques as valuable predictors of potential change, the most suitable technique that consistently achieves high accuracy remains undetermined and there is no clear indication of which techniques are more appropriate.;Objective: This thesis aims to empirically investigate the capability of ensemble models to provide an increased prediction accuracy, compared with individual models, by applying them on several software maintainability datasets using different base models and analysing the impact of parameter tuning.;Method: In the first part of this thesis, a systematic review of studies related to the prediction of the maintainability of object-oriented software systems using machine learning techniques is presented. In the remaining parts of this thesis, three empirical studies were performed to evaluate and compare different homogeneous and heterogeneous ensemble models against sets of individual models for predicting software maintainability of object-oriented systems at the class level. These models were employed on 14 datasets that were extracted from the maintenance of object-oriented software systems.;Results: The systematic literature review determined 56 relevant studies and indicated that the application of ensemble models is relatively rare, thus there is a need to perform studies using these models as well as others to an extensive variety of datasets. The results obtained from three empirical studies indicate that the proposed ensemble models yield improved prediction accuracy over most of the individual models. This improvement was significant only in the third empirical study, along with a few cases in the second empirical study. In most cases, nearest neighbours or support vector regression achieved the best prediction accuracy among individual models; moreover, these models as a base model in bagging and additive regression outperformed other prediction models, along with random forest.;Conclusion: The main finding is that ensemble models are effective for predicting software maintainability and they are more accurate than some individual models; their performance may be improved by using large datasets, or parameter tuning. Also, ensemble models improve the performance of weaker base models.Context: Prediction of the maintainability of classes in object-oriented systems is a significant factor for software success; however, it is a challenging task. Although prior object-oriented software maintainability literature acknowledges the role of machine learning techniques as valuable predictors of potential change, the most suitable technique that consistently achieves high accuracy remains undetermined and there is no clear indication of which techniques are more appropriate.;Objective: This thesis aims to empirically investigate the capability of ensemble models to provide an increased prediction accuracy, compared with individual models, by applying them on several software maintainability datasets using different base models and analysing the impact of parameter tuning.;Method: In the first part of this thesis, a systematic review of studies related to the prediction of the maintainability of object-oriented software systems using machine learning techniques is presented. In the remaining parts of this thesis, three empirical studies were performed to evaluate and compare different homogeneous and heterogeneous ensemble models against sets of individual models for predicting software maintainability of object-oriented systems at the class level. These models were employed on 14 datasets that were extracted from the maintenance of object-oriented software systems.;Results: The systematic literature review determined 56 relevant studies and indicated that the application of ensemble models is relatively rare, thus there is a need to perform studies using these models as well as others to an extensive variety of datasets. The results obtained from three empirical studies indicate that the proposed ensemble models yield improved prediction accuracy over most of the individual models. This improvement was significant only in the third empirical study, along with a few cases in the second empirical study. In most cases, nearest neighbours or support vector regression achieved the best prediction accuracy among individual models; moreover, these models as a base model in bagging and additive regression outperformed other prediction models, along with random forest.;Conclusion: The main finding is that ensemble models are effective for predicting software maintainability and they are more accurate than some individual models; their performance may be improved by using large datasets, or parameter tuning. Also, ensemble models improve the performance of weaker base models
Suggesting new words to extract keywords from title and abstract
When talking about the fundamentals of writing research papers, we find that keywords are still present in most research papers, but that does not mean that they exist in all of them, we can find papers that do not contain keywords. Keywords are those words or phrases that accurately reflect the content of the research paper. Keywords are an exact abbreviation of what the research carries in its content. The right keywords may increase the chance of finding the article or research paper and chances of reaching more people who should reach them. The importance of keywords and the essence of the research and address is mainly to attract these highly specialized and highly influential writers in their fields and who specialize in reading what holds the appropriate characteristics but they do not read and cannot read everything. In this paper, we extract new keywords by suggesting a set of words, these words were suggested according to the many mentioned in the researches with multiple disciplines in the field of computer. In our system, we take a number of words (as many as specified in the program) that come before the proposed words and consider it as new keywords. This system proved to be effective in finding keywords that correspond to some extent with the keywords developed by the author in his research
- …
