Code Metrics

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 19434 Experts worldwide ranked by ideXlab platform

Ashish Sureka - One of the best experts on this subject based on the ideXlab platform.

  • A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems
    arXiv: Software Engineering, 2017
    Co-Authors: Lov Kumar, Ashish Sureka
    Abstract:

    Change-prone classes or modules are defined as software components in the source Code which are likely to change in the future. Change-proneness prediction is useful to the maintenance team as they can optimize and focus their testing resources on the modules which have a higher likelihood of change. Change-proneness prediction model can be built by using source Code Metrics as predictors or features within a machine learning classification framework. In this paper, twenty one source Code Metrics are computed to develop a statistical model for predicting change-proneness modules. Since the performance of the change-proneness model depends on the source Code Metrics, they are used as independent variables or predictors for the change-proneness model. Eleven different feature selection techniques (including the usage of all the $21$ proposed source Code Metrics described in the paper) are used to remove irrelevant features and select the best set of features. The effectiveness of the set of source Code Metrics are evaluated using eighteen different classiffication techniques and three ensemble techniques. Experimental results demonstrate that the model based on selected set of source Code Metrics after applying feature selection techniques achieves better results as compared to the model using all source Code Metrics as predictors. Our experimental results reveal that the predictive model developed using LSSVM-RBF yields better result as compared to other classification techniques

  • IC3 - Analyzing fault prediction usefulness from cost perspective using source Code Metrics
    2017 Tenth International Conference on Contemporary Computing (IC3), 2017
    Co-Authors: Lov Kumar, Ashish Sureka
    Abstract:

    Software fault prediction techniques are useful for the purpose of optimizing test resource allocation. Software fault prediction based on source Code Metrics and machine learning models consists of using static program features as input predictors to estimate the fault proneness of a class or module. We conduct a comparison of five machine learning algorithms on their fault prediction performance based on experiments on 56 open source projects. Several researchers have argued on the application of software engineering economics and testing cost for the purpose of evaluating a software quality assurance activity. We evaluate the performance and usefulness of fault prediction models within the context of a cost evaluation framework and present the results of our experiments. We propose a novel approach using decision trees to predict the usefulness of fault prediction based on distributional characteristics of source Code Metrics by fusing information from the output of the fault prediction usefulness using cost evaluation framework and distributional source Code Metrics.

  • COMPSAC (1) - An Empirical Analysis on Effective Fault Prediction Model Developed Using Ensemble Methods
    2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), 2017
    Co-Authors: Lov Kumar, Santanu Kumar Rath, Ashish Sureka
    Abstract:

    Software fault prediction models are employed to optimize testing resource allocation by identifying fault-prone classes before testing phases. We apply three different ensemble methods to develop a model for predicting fault proneness. We propose a framework to validate the source Code Metrics and select the right set of Metrics with the objective to improve the performance of the fault prediction model. The fault prediction models are then validated using a cost evaluation framework. We conduct a series of experiments on 45 open source project dataset. Key conclusions from our experiments are: (1) Majority Voting Ensemble (MVE) methods outperformed other methods (2) selected set of source Code Metrics using the suggested source Code Metrics using validation framework as the input achieves better results compared to all other Metrics (3) fault prediction method is effective for software projects with a percentage of faulty classes lower than the threshold value (low - 54.82%, medium - 41.04%, high - 28.10%).

  • Using Source Code Metrics and Ensemble Methods for Fault Proneness Prediction.
    arXiv: Software Engineering, 2017
    Co-Authors: Lov Kumar, Santanu Kumar Rath, Ashish Sureka
    Abstract:

    Software fault prediction model are employed to optimize testing resource allocation by identifying fault-prone classes before testing phases. Several researchers' have validated the use of different classification techniques to develop predictive models for fault prediction. The performance of the statistical models are proven to be influenced by the training and testing dataset. Ensemble method learning algorithms have been widely used because it combines the capabilities of its constituent models towards a dataset to come up with a potentially higher performance as compared to individual models (improves generalizability). In the study presented in this paper, three different ensemble methods have been applied to develop a model for predicting fault proneness. The efficacy and usefulness of a fault prediction model also depends on the source Code Metrics which are considered as the input for the model. In this paper, we propose a framework to validate the source Code Metrics and select the right set of Metrics with the objective to improve the performance of the fault prediction model. The fault prediction models are then validated using a cost evaluation framework. We conduct a series of experiments on 45 open source project dataset. Key conclusions from our experiments are: (1) Majority Voting Ensemble (MVE) methods outperformed other methods; (2) selected set of source Code Metrics using the suggested source Code Metrics using validation framework as the input achieves better results compared to all other Metrics; (3) fault prediction method is effective for software projects with a percentage of faulty classes lower than the threshold value (low - 54.82%, medium - 41.04%, high - 28.10%)

  • using source Code Metrics to predict change prone web services a case study on ebay services
    2017 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE), 2017
    Co-Authors: Lov Kumar, Santanu Kumar Rath, Ashish Sureka
    Abstract:

    Predicting change-prone object-oriented software using source Code Metrics is an area that has attracted several researchers attention. However, predicting change-prone web services in terms of changes in the WSDL (Web Service Description Language) Interface using source Code Metrics implementing the services is a relatively unexplored area. We conduct a case-study on change proneness prediction on an experimental dataset consisting of several versions of eBay web services wherein we compute the churn between different versions of the WSDL interfaces using the WSDLDiff Tool. We compute 21 source Code Metrics using Chidamber and Kemerer Java Metrics (CKJM) extended tool serving as predictors and apply Least Squares Support Vector Machines (LSSVM) based technique to develop a change proneness estimator. Our experimental results demonstrates that a predictive model developed using all 21 Metrics and linear kernel yields the best results.

Lov Kumar - One of the best experts on this subject based on the ideXlab platform.

  • ICONIP (5) - Prediction of Refactoring-Prone Classes Using Ensemble Learning
    Communications in Computer and Information Science, 2019
    Co-Authors: Vamsi Krishna Aribandi, Lov Kumar, Lalita Bhanu Murthy Neti, Aneesh Krishna
    Abstract:

    A considerable amount of software engineers’ efforts go into maintaining Code repositories, which involves identifying Code whose structure can be improved. This often involves the identification of classes whose Code requires refactoring. The early detection of refactoring-prone classes has the potential to reduce the costs and efforts that go into maintaining source Code repositories. The purpose of this research is to develop prediction models using source Code Metrics for detecting patterns in object oriented source Code, which are indicators of classes that are likely to be refactored in future iterations. In this study, four different sets of source Code Metrics have been considered as an input for refactoring prediction to evaluate the impact of these source Code Metrics on model performance. The impact of these source Code Metrics are evaluated using eleven different classification technique, and two different ensemble classes on seven different open source projects. Ensemble learning techniques have been shown to incorporate the diversity of patterns learnt by different classifiers, resulting in an augmented classifier that is more robust than any individual classifier. Our work also creates distinction between various sets of features for the task of predicting refactoring-prone classes.

  • A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems
    arXiv: Software Engineering, 2017
    Co-Authors: Lov Kumar, Ashish Sureka
    Abstract:

    Change-prone classes or modules are defined as software components in the source Code which are likely to change in the future. Change-proneness prediction is useful to the maintenance team as they can optimize and focus their testing resources on the modules which have a higher likelihood of change. Change-proneness prediction model can be built by using source Code Metrics as predictors or features within a machine learning classification framework. In this paper, twenty one source Code Metrics are computed to develop a statistical model for predicting change-proneness modules. Since the performance of the change-proneness model depends on the source Code Metrics, they are used as independent variables or predictors for the change-proneness model. Eleven different feature selection techniques (including the usage of all the $21$ proposed source Code Metrics described in the paper) are used to remove irrelevant features and select the best set of features. The effectiveness of the set of source Code Metrics are evaluated using eighteen different classiffication techniques and three ensemble techniques. Experimental results demonstrate that the model based on selected set of source Code Metrics after applying feature selection techniques achieves better results as compared to the model using all source Code Metrics as predictors. Our experimental results reveal that the predictive model developed using LSSVM-RBF yields better result as compared to other classification techniques

  • Predicting Software Quality Parameters using Artificial Intelligence Techniques and Source Code Metrics
    2017
    Co-Authors: Lov Kumar
    Abstract:

    Improving quality of the desired software is an important topic under software engineering domain that has attracted several researchers' attention. Prediction and early identification of fault-prone components help the maintenance team, as they can optimize and focus on their testing resources on the modules. Software quality prediction models are generally developed using a structural measurement of software (source Code Metrics (SCMs)), i.e., size, cohesion, coupling, complexity, and inheritance. The objective of this work is to use such measurement effectively and derive the relation between these internal structural properties with relevant external system qualities such as reliability, change-proneness, maintainability, etc.. SCMs are often used to measure the internal structure of software systems such as complexity, coupling, cohesion, inheritance, and size. The research work carried out in this study presents the use of various artificial intelligence (AI) techniques and feature selection (FS) methods for software quality prediction such as fault prediction, change-proneness of object-oriented software, maintainability prediction of object-oriented software, change-proneness of web service, quality of service prediction of web service using SCMs. The AI techniques, FS methods and set of SCMs are implemented taking into consideration of related dataset. Software fault prediction models are employed by researchers to optimize the testing process by identifying fault-prone classes before testing phases start. The performance of a model to assess fault-proneness depends on the SCMs, which are considered as the input for the model. In this work, a framework has been proposed to validate the source Code Metrics and identify a suitable set of source Code Metrics with the aim to reduce irrelevant features and improve the performance of the fault prediction model. The obtained set of SCMs is validated using eighteen different classifiers and three different ensemble methods. The effectiveness of the developed fault prediction models are evaluated using a proposed cost evaluation framework. The experimental results reveal that the model developed by considering the selected set of SCMs using the suggested SCMs validation framework as the input achieves comparatively better results compared to all considering Metrics. The experimental results also demonstrate that the fault prediction model is best suitable for projects with faulty classes less than the threshold value depending on fault identification efficiency. Change-prone classes or modules are defined as software components in the source Code, which are likely to change in future. The use of SCMs can best assess the quality of change proneness prediction model that is considered as input to design the prediction model. So in this work, eleven different FS methods including proposed SCMs validation framework have been considered to remove irrelevant features and select best set of features. The effectiveness of these sets of SCMs are evaluated using twenty-one classification techniques. Experimental results demonstrate that the least square support vector machine with RBF kernel (LSSVM-RBF) yields better result as compared to other classification techniques. Further, it is observed that there exists a small subset of source Code software Metrics, which are able to predict change-proneness with higher accuracy as compared to all Metrics. Software maintenance plays an important role in software development life cycle (SDLC); hence prior estimation of effort for maintainability plays a vital role in achieving considerable success in any software system. Existing approaches for maintainability estimation are mostly based on regression analysis and simple neural network approaches. In this work, maintainability prediction models are developed using three different types of neural networks and ensemble methods by considering object-oriented Metrics as input. A hybrid algorithm based on genetic algorithm (GA) with gradient descent (GD) algorithm has been proposed to train the neural network. This study also focuses on five different types of FS methods which can predict maintainability of software with higher accuracy. The results show that model developed using a proposed hybrid algorithm based on GA with GD algorithm yields promising results when compared with the earlier works as carried out by different authors indicated in literature. The results also show that the FS method obtains better results for predicting maintainability as compared to all Metrics. Change-proneness prediction of object-oriented software using SCMs is an area that has attracted several researchers' attention. However, change-proneness prediction of web services in terms of changes in the WSDL (Web Service Description Language) interface using SCMs implementing the services is a relatively an unexplored area. In this work, one experiment is conducted on a case-study consisting of several versions of eBay web services. SCMs serving as predictors and twenty-one classifiers are applied to develop a change-proneness estimator. From experimental results, it may be concluded that it is possible to predict change-proneness of WSDL documents and services using SCMs. The predictive model developed using LSSVM-RBF yields better results compared to other classifiers. The results also show that the performance of the selected set of SCMs varies with the different classification methods. Applications and business solutions using web services (which integrate and combine several services) expect high Quality of Service (QoS) such as performance, scalability and reliability as their application is dependent on the service. Failed and slow online application depending on web services can cost a lot to organizations in terms of customer dissatisfaction. Estimation and improvement of the quality of service (QoS) parameters of web service serve as the primary objective of service providers. It is observed that analyzing the source Code behind the web services helps in computing the QoS parameters. In this work, thirty-seven different SCMs have been analyzed to measure the internal structure of software system. In order to develop a model, these SCMs are treated as input for predicting QoS parameters using eighteen different prediction techniques. In this work, four distinct feature reduction techniques are also considered to select the best set of Metrics. The results show that the neural network with a hybrid approach of adaptive GA and GD produces better results as compared to an individual. Further, it is also observed that the selected set of Metrics achieve better results as compared to all the Metrics.

  • IC3 - Analyzing fault prediction usefulness from cost perspective using source Code Metrics
    2017 Tenth International Conference on Contemporary Computing (IC3), 2017
    Co-Authors: Lov Kumar, Ashish Sureka
    Abstract:

    Software fault prediction techniques are useful for the purpose of optimizing test resource allocation. Software fault prediction based on source Code Metrics and machine learning models consists of using static program features as input predictors to estimate the fault proneness of a class or module. We conduct a comparison of five machine learning algorithms on their fault prediction performance based on experiments on 56 open source projects. Several researchers have argued on the application of software engineering economics and testing cost for the purpose of evaluating a software quality assurance activity. We evaluate the performance and usefulness of fault prediction models within the context of a cost evaluation framework and present the results of our experiments. We propose a novel approach using decision trees to predict the usefulness of fault prediction based on distributional characteristics of source Code Metrics by fusing information from the output of the fault prediction usefulness using cost evaluation framework and distributional source Code Metrics.

  • An empirical analysis of the effectiveness of software Metrics and fault prediction model for identifying faulty classes
    Computer Standards & Interfaces, 2017
    Co-Authors: Lov Kumar, Sanjay Misra, Santanu Ku. Rath
    Abstract:

    Abstract Software fault prediction models are used to predict faulty modules at the very early stage of software development life cycle. Predicting fault proneness using source Code Metrics is an area that has attracted several researchers' attention. The performance of a model to assess fault proneness depends on the source Code Metrics which are considered as the input for the model. In this work, we have proposed a framework to validate the source Code Metrics and identify a suitable set of source Code Metrics with the aim to reduce irrelevant features and improve the performance of the fault prediction model. Initially, we applied a t -test analysis and univariate logistic regression analysis to each source Code metric to evaluate their potential for predicting fault proneness. Next, we performed a correlation analysis and multivariate linear regression stepwise forward selection to find the right set of source Code Metrics for fault prediction. The obtained set of source Code Metrics are considered as the input to develop a fault prediction model using a neural network with five different training algorithms and three different ensemble methods. The effectiveness of the developed fault prediction models are evaluated using a proposed cost evaluation framework. We performed experiments on fifty six Open Source Java projects. The experimental results reveal that the model developed by considering the selected set of source Code Metrics using the suggested source Code Metrics validation framework as the input achieves better results compared to all other Metrics. The experimental results also demonstrate that the fault prediction model is best suitable for projects with faulty classes less than the threshold value depending on fault identification efficiency (low – 48.89%, median- 39.26%, and high – 27.86%).

Bruce Christianson - One of the best experts on this subject based on the ideXlab platform.

  • software defect prediction using static Code Metrics underestimates defect proneness
    International Joint Conference on Neural Network, 2010
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    Many studies have been carried out to predict the presence of software Code defects using static Code Metrics. Such studies typically report how a classifier performs with real world data, but usually no analysis of the predictions is carried out. An analysis of this kind may be worthwhile as it can illuminate the motivation behind the predictions and the severity of the misclassifications. This investigation involves a manual analysis of the predictions made by Support Vector Machine classifiers using data from the NASA Metrics Data Program repository. The findings show that the predictions are generally well motivated and that the classifiers were, on average, more “confident” in the predictions they made which were correct.

  • IJCNN - Software defect prediction using static Code Metrics underestimates defect-proneness
    The 2010 International Joint Conference on Neural Networks (IJCNN), 2010
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    Many studies have been carried out to predict the presence of software Code defects using static Code Metrics. Such studies typically report how a classifier performs with real world data, but usually no analysis of the predictions is carried out. An analysis of this kind may be worthwhile as it can illuminate the motivation behind the predictions and the severity of the misclassifications. This investigation involves a manual analysis of the predictions made by Support Vector Machine classifiers using data from the NASA Metrics Data Program repository. The findings show that the predictions are generally well motivated and that the classifiers were, on average, more “confident” in the predictions they made which were correct.

  • using the support vector machine as a classification method for software defect prediction with static Code Metrics
    International Conference on Engineering Applications of Neural Networks, 2009
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    The automated detection of defective modules within software systems could lead to reduced development costs and more reliable software. In this work the static Code Metrics for a collection of modules contained within eleven NASA data sets are used with a Support Vector Machine classifier. A rigorous sequence of pre-processing steps were applied to the data prior to classification, including the balancing of both classes (defective or otherwise) and the removal of a large number of repeating instances. The Support Vector Machine in this experiment yields an average accuracy of 70% on previously unseen data.

  • EANN - Using the Support Vector Machine as a Classification Method for Software Defect Prediction with Static Code Metrics
    Engineering Applications of Neural Networks, 2009
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    The automated detection of defective modules within software systems could lead to reduced development costs and more reliable software. In this work the static Code Metrics for a collection of modules contained within eleven NASA data sets are used with a Support Vector Machine classifier. A rigorous sequence of pre-processing steps were applied to the data prior to classification, including the balancing of both classes (defective or otherwise) and the removal of a large number of repeating instances. The Support Vector Machine in this experiment yields an average accuracy of 70% on previously unseen data.

David Gray - One of the best experts on this subject based on the ideXlab platform.

  • software defect prediction using static Code Metrics underestimates defect proneness
    International Joint Conference on Neural Network, 2010
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    Many studies have been carried out to predict the presence of software Code defects using static Code Metrics. Such studies typically report how a classifier performs with real world data, but usually no analysis of the predictions is carried out. An analysis of this kind may be worthwhile as it can illuminate the motivation behind the predictions and the severity of the misclassifications. This investigation involves a manual analysis of the predictions made by Support Vector Machine classifiers using data from the NASA Metrics Data Program repository. The findings show that the predictions are generally well motivated and that the classifiers were, on average, more “confident” in the predictions they made which were correct.

  • IJCNN - Software defect prediction using static Code Metrics underestimates defect-proneness
    The 2010 International Joint Conference on Neural Networks (IJCNN), 2010
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    Many studies have been carried out to predict the presence of software Code defects using static Code Metrics. Such studies typically report how a classifier performs with real world data, but usually no analysis of the predictions is carried out. An analysis of this kind may be worthwhile as it can illuminate the motivation behind the predictions and the severity of the misclassifications. This investigation involves a manual analysis of the predictions made by Support Vector Machine classifiers using data from the NASA Metrics Data Program repository. The findings show that the predictions are generally well motivated and that the classifiers were, on average, more “confident” in the predictions they made which were correct.

  • using the support vector machine as a classification method for software defect prediction with static Code Metrics
    International Conference on Engineering Applications of Neural Networks, 2009
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    The automated detection of defective modules within software systems could lead to reduced development costs and more reliable software. In this work the static Code Metrics for a collection of modules contained within eleven NASA data sets are used with a Support Vector Machine classifier. A rigorous sequence of pre-processing steps were applied to the data prior to classification, including the balancing of both classes (defective or otherwise) and the removal of a large number of repeating instances. The Support Vector Machine in this experiment yields an average accuracy of 70% on previously unseen data.

  • EANN - Using the Support Vector Machine as a Classification Method for Software Defect Prediction with Static Code Metrics
    Engineering Applications of Neural Networks, 2009
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    The automated detection of defective modules within software systems could lead to reduced development costs and more reliable software. In this work the static Code Metrics for a collection of modules contained within eleven NASA data sets are used with a Support Vector Machine classifier. A rigorous sequence of pre-processing steps were applied to the data prior to classification, including the balancing of both classes (defective or otherwise) and the removal of a large number of repeating instances. The Support Vector Machine in this experiment yields an average accuracy of 70% on previously unseen data.

David Bowes - One of the best experts on this subject based on the ideXlab platform.

  • software defect prediction using static Code Metrics underestimates defect proneness
    International Joint Conference on Neural Network, 2010
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    Many studies have been carried out to predict the presence of software Code defects using static Code Metrics. Such studies typically report how a classifier performs with real world data, but usually no analysis of the predictions is carried out. An analysis of this kind may be worthwhile as it can illuminate the motivation behind the predictions and the severity of the misclassifications. This investigation involves a manual analysis of the predictions made by Support Vector Machine classifiers using data from the NASA Metrics Data Program repository. The findings show that the predictions are generally well motivated and that the classifiers were, on average, more “confident” in the predictions they made which were correct.

  • IJCNN - Software defect prediction using static Code Metrics underestimates defect-proneness
    The 2010 International Joint Conference on Neural Networks (IJCNN), 2010
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    Many studies have been carried out to predict the presence of software Code defects using static Code Metrics. Such studies typically report how a classifier performs with real world data, but usually no analysis of the predictions is carried out. An analysis of this kind may be worthwhile as it can illuminate the motivation behind the predictions and the severity of the misclassifications. This investigation involves a manual analysis of the predictions made by Support Vector Machine classifiers using data from the NASA Metrics Data Program repository. The findings show that the predictions are generally well motivated and that the classifiers were, on average, more “confident” in the predictions they made which were correct.

  • using the support vector machine as a classification method for software defect prediction with static Code Metrics
    International Conference on Engineering Applications of Neural Networks, 2009
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    The automated detection of defective modules within software systems could lead to reduced development costs and more reliable software. In this work the static Code Metrics for a collection of modules contained within eleven NASA data sets are used with a Support Vector Machine classifier. A rigorous sequence of pre-processing steps were applied to the data prior to classification, including the balancing of both classes (defective or otherwise) and the removal of a large number of repeating instances. The Support Vector Machine in this experiment yields an average accuracy of 70% on previously unseen data.

  • EANN - Using the Support Vector Machine as a Classification Method for Software Defect Prediction with Static Code Metrics
    Engineering Applications of Neural Networks, 2009
    Co-Authors: David Gray, David Bowes, Neil Davey, Yi Sun, Bruce Christianson
    Abstract:

    The automated detection of defective modules within software systems could lead to reduced development costs and more reliable software. In this work the static Code Metrics for a collection of modules contained within eleven NASA data sets are used with a Support Vector Machine classifier. A rigorous sequence of pre-processing steps were applied to the data prior to classification, including the balancing of both classes (defective or otherwise) and the removal of a large number of repeating instances. The Support Vector Machine in this experiment yields an average accuracy of 70% on previously unseen data.