Amrita Sharma - Academia.edu (original) (raw)

Papers by Amrita Sharma

Research paper thumbnail of Software Cost Estimation for Python Projects Using Genetic Algorithm

Lecture notes in networks and systems, 2020

Software cost estimation is a process of planning, risk analysis, and decision making for project... more Software cost estimation is a process of planning, risk analysis, and decision making for project management in software development. Cost of project development encompasses a software project's effort and development time. One popular model of software cost estimation is constructive cost model (COCOMO) model, which is a mathematical model proposed by Boehm, used for estimate the software effort and development time. The objective of this paper is to improve the basic COCOMO model's coefficients for modern programming languages like Python, R, C++, etc. Many techniques were presented in the past for effort and time estimation using machine learning. But all these techniques were trained and tested for older programming languages. In order to improve the accuracy of COCOMO for modern programming languages, six Python projects have been considered and genetic algorithm (GA) is applied in these projects to define new values for basic COCOMO coefficients and the development time is calculated for Python projects. The time estimated using GA coefficients is compared with the original COCOMO and actual time. Using mean magnitude relative error, the error from the original COCOMO time is 54.49% and error from GA time is 21.23%. Keywords Genetic algorithm • Software cost estimation • Development time • Python project dataset • Modern programming languages

Research paper thumbnail of Prediction of Software Effort by Using Non-Linear Power Regression for Heterogeneous Projects Based on Use case Points and Lines of code

Procedia Computer Science, 2023

Research paper thumbnail of Correction to: Software Cost Estimation for Python Projects Using Genetic Algorithm

Lecture notes in networks and systems, 2020

The erratum chapter and the book have been updated with the change.

Research paper thumbnail of The combined model for software development effort estimation using polynomial regression for heterogeneous projects

Radìoelektronnì ì komp'ûternì sistemi, May 18, 2022

Estimating the software work is a crucial job of persons participating in software project manage... more Estimating the software work is a crucial job of persons participating in software project management. The difficulty in predicting effort is compounded by the fact that software development is always changing. In the past, researchers used one form of development methodology in their work to estimate effort and time. Estimations of the software projects are estimated with different size matrices. The lines of code, story point and use case point are required for the estimation using algorithmic models for procedural, agile, and object-oriented development approaches. Currently, the companies use these three types of size matrices for estimating projects. Not any one model present estimates the effort for different development approaches with different size metrics. This paper proposes a combined software estimation model for three types of development methodologies with regression analysis. The estimation can be done with the proposed model for a software project developed using the procedural, agile, and object-oriented approach. Method: The input for the model is the size of the software, such as lines of code, story point, and use case point. The model is developed using the polynomial regression. The model is developed with the four constant parameters that are based on the procedural, agile, and object-oriented projects. A dataset of python projects for procedural, zia dataset for agile, company dataset for object-oriented methodology is used to propose the model. Conclusion: The effort is predicted for the procedural, agile, and object-oriented projects with the polynomial regression model and compare the results to existing models to validate the work. The R 2 is used to measure accuracy and the MMRE is used to determine error. The accuracy of the proposed model was higher than 90% and the error was found to be less than 0.05. The results are compared with case-based reasoning and an ensemble model for the procedural approach, linear regression and Bayesian network for the agile approach, and linear and log-linear regression for object-oriented approach. The minimum error and maximum accuracy is achieved compared to these techniques.

Research paper thumbnail of Linear Regression Model for Agile Software Development Effort Estimation

Software cost estimation is always an essential task for the development management as it require... more Software cost estimation is always an essential task for the development management as it requires for estimating the effort and the time required for developing the software. A project manager requires software estimation for making a decision and predict the total budget. Success or failure of software development depends on the accurate estimation of cost and time. There are numerous tools and techniques have been developed for estimating the software cost. But all these techniques are best suitable for the traditional development methodology. From the past two decades, the agile methodology has been com for software development. So the traditional cost estimation techniques may not give the appropriate results for agile development. In this paper, the multiple linear regression models are proposed for comparing the best model for agile development. The correlation between the dependent and independent variables are also found out. The results showed that the proposed model outperforms from the decision tree, stochastic gradient boosting, and random forest.

Research paper thumbnail of Analysis of Software Effort Estimation Based on Story Point and Lines of Code using Machine Learning

International Journal of Computing and Digital Systems, Jul 1, 2022

Estimating the software work is a crucial job of persons participating in software project manage... more Estimating the software work is a crucial job of persons participating in software project management. The difficulty in predicting effort is compounded by the fact that software development is always changing. Several techniques for estimating software development costs have been developed over the last three decades. There are a variety of cost estimation methodologies, algorithmic models, non-algorithmic models, and machine learning methods to choose from. To improve accuracy, machine learning approaches are combined with algorithmic or non-algorithmic models. Researchers in past worked on the effort and time estimation by using one type of development methodology in their work. Currently, the companies uses both agile and traditional techniques to software development. A comparison of agile and traditional development utilizing the neural network (NN) and genetic algorithm is presented in this research (GA). Estimation is performed on the Zia dataset and a github dataset using story points and lines of code, respectively. The smallest error and highest accuracy were attained utilizing machine learning approaches for projected effort values. The value of R2 based on story point is achieved using neural network and genetic algorithm is 0.97 and 0.96 respectively. On other hand, the value of R2 based on lines of code is achieved using neural network and genetic algorithm is 0.94 and 0.80 respectively. The mean magnitude relative error is used for comparison of proposed models with previous works. The dataset with the story point give best results followed by projects with lines of code.

Research paper thumbnail of Linear Regression Model for Agile Software Development Effort Estimation

2020 5th IEEE International Conference on Recent Advances and Innovations in Engineering (ICRAIE), 2020

Software cost estimation is always an essential task for the development management as it require... more Software cost estimation is always an essential task for the development management as it requires for estimating the effort and the time required for developing the software. A project manager requires software estimation for making a decision and predict the total budget. Success or failure of software development depends on the accurate estimation of cost and time. There are numerous tools and techniques have been developed for estimating the software cost. But all these techniques are best suitable for the traditional development methodology. From the past two decades, the agile methodology has been com for software development. So the traditional cost estimation techniques may not give the appropriate results for agile development. In this paper, the multiple linear regression models are proposed for comparing the best model for agile development. The correlation between the dependent and independent variables are also found out. The results showed that the proposed model outperforms from the decision tree, stochastic gradient boosting, and random forest.

Research paper thumbnail of The combined model for software development effort estimation using polynomial regression for heterogeneous projects

RADIOELECTRONIC AND COMPUTER SYSTEMS

Subject matter: Estimating the software work is a crucial job of persons participating in softwar... more Subject matter: Estimating the software work is a crucial job of persons participating in software project management. The difficulty in predicting effort is compounded by the fact that software development is always changing. In the past, researchers used one form of development methodology in their work to estimate effort and time. Estimations of the software projects are estimated with different size matrices. The lines of code, story point and use case point are required for the estimation using algorithmic models for procedural, agile, and object-oriented development approaches. Currently, the companies use these three types of size matrices for estimating projects. Not any one model present estimates the effort for different development approaches with different size metrics. This paper proposes a combined software estimation model for three types of development methodologies with regression analysis. The estimation can be done with the proposed model for a software project de...

Research paper thumbnail of Correction to: Software Cost Estimation for Python Projects Using Genetic Algorithm

Research paper thumbnail of Software Cost Estimation for Python Projects Using Genetic Algorithm

Software cost estimation is a process of planning, risk analysis, and decision making for project... more Software cost estimation is a process of planning, risk analysis, and decision making for project management in software development. Cost of project development encompasses a software project’s effort and development time. One popular model of software cost estimation is constructive cost model (COCOMO) model, which is a mathematical model proposed by Boehm, used for estimate the software effort and development time. The objective of this paper is to improve the basic COCOMO model’s coefficients for modern programming languages like Python, R, C++, etc. Many techniques were presented in the past for effort and time estimation using machine learning. But all these techniques were trained and tested for older programming languages. In order to improve the accuracy of COCOMO for modern programming languages, six Python projects have been considered and genetic algorithm (GA) is applied in these projects to define new values for basic COCOMO coefficients and the development time is cal...

Research paper thumbnail of Software Cost Estimation for Python Projects Using Genetic Algorithm

Lecture notes in networks and systems, 2020

Software cost estimation is a process of planning, risk analysis, and decision making for project... more Software cost estimation is a process of planning, risk analysis, and decision making for project management in software development. Cost of project development encompasses a software project's effort and development time. One popular model of software cost estimation is constructive cost model (COCOMO) model, which is a mathematical model proposed by Boehm, used for estimate the software effort and development time. The objective of this paper is to improve the basic COCOMO model's coefficients for modern programming languages like Python, R, C++, etc. Many techniques were presented in the past for effort and time estimation using machine learning. But all these techniques were trained and tested for older programming languages. In order to improve the accuracy of COCOMO for modern programming languages, six Python projects have been considered and genetic algorithm (GA) is applied in these projects to define new values for basic COCOMO coefficients and the development time is calculated for Python projects. The time estimated using GA coefficients is compared with the original COCOMO and actual time. Using mean magnitude relative error, the error from the original COCOMO time is 54.49% and error from GA time is 21.23%. Keywords Genetic algorithm • Software cost estimation • Development time • Python project dataset • Modern programming languages

Research paper thumbnail of Prediction of Software Effort by Using Non-Linear Power Regression for Heterogeneous Projects Based on Use case Points and Lines of code

Procedia Computer Science, 2023

Research paper thumbnail of Correction to: Software Cost Estimation for Python Projects Using Genetic Algorithm

Lecture notes in networks and systems, 2020

The erratum chapter and the book have been updated with the change.

Research paper thumbnail of The combined model for software development effort estimation using polynomial regression for heterogeneous projects

Radìoelektronnì ì komp'ûternì sistemi, May 18, 2022

Estimating the software work is a crucial job of persons participating in software project manage... more Estimating the software work is a crucial job of persons participating in software project management. The difficulty in predicting effort is compounded by the fact that software development is always changing. In the past, researchers used one form of development methodology in their work to estimate effort and time. Estimations of the software projects are estimated with different size matrices. The lines of code, story point and use case point are required for the estimation using algorithmic models for procedural, agile, and object-oriented development approaches. Currently, the companies use these three types of size matrices for estimating projects. Not any one model present estimates the effort for different development approaches with different size metrics. This paper proposes a combined software estimation model for three types of development methodologies with regression analysis. The estimation can be done with the proposed model for a software project developed using the procedural, agile, and object-oriented approach. Method: The input for the model is the size of the software, such as lines of code, story point, and use case point. The model is developed using the polynomial regression. The model is developed with the four constant parameters that are based on the procedural, agile, and object-oriented projects. A dataset of python projects for procedural, zia dataset for agile, company dataset for object-oriented methodology is used to propose the model. Conclusion: The effort is predicted for the procedural, agile, and object-oriented projects with the polynomial regression model and compare the results to existing models to validate the work. The R 2 is used to measure accuracy and the MMRE is used to determine error. The accuracy of the proposed model was higher than 90% and the error was found to be less than 0.05. The results are compared with case-based reasoning and an ensemble model for the procedural approach, linear regression and Bayesian network for the agile approach, and linear and log-linear regression for object-oriented approach. The minimum error and maximum accuracy is achieved compared to these techniques.

Research paper thumbnail of Linear Regression Model for Agile Software Development Effort Estimation

Software cost estimation is always an essential task for the development management as it require... more Software cost estimation is always an essential task for the development management as it requires for estimating the effort and the time required for developing the software. A project manager requires software estimation for making a decision and predict the total budget. Success or failure of software development depends on the accurate estimation of cost and time. There are numerous tools and techniques have been developed for estimating the software cost. But all these techniques are best suitable for the traditional development methodology. From the past two decades, the agile methodology has been com for software development. So the traditional cost estimation techniques may not give the appropriate results for agile development. In this paper, the multiple linear regression models are proposed for comparing the best model for agile development. The correlation between the dependent and independent variables are also found out. The results showed that the proposed model outperforms from the decision tree, stochastic gradient boosting, and random forest.

Research paper thumbnail of Analysis of Software Effort Estimation Based on Story Point and Lines of Code using Machine Learning

International Journal of Computing and Digital Systems, Jul 1, 2022

Estimating the software work is a crucial job of persons participating in software project manage... more Estimating the software work is a crucial job of persons participating in software project management. The difficulty in predicting effort is compounded by the fact that software development is always changing. Several techniques for estimating software development costs have been developed over the last three decades. There are a variety of cost estimation methodologies, algorithmic models, non-algorithmic models, and machine learning methods to choose from. To improve accuracy, machine learning approaches are combined with algorithmic or non-algorithmic models. Researchers in past worked on the effort and time estimation by using one type of development methodology in their work. Currently, the companies uses both agile and traditional techniques to software development. A comparison of agile and traditional development utilizing the neural network (NN) and genetic algorithm is presented in this research (GA). Estimation is performed on the Zia dataset and a github dataset using story points and lines of code, respectively. The smallest error and highest accuracy were attained utilizing machine learning approaches for projected effort values. The value of R2 based on story point is achieved using neural network and genetic algorithm is 0.97 and 0.96 respectively. On other hand, the value of R2 based on lines of code is achieved using neural network and genetic algorithm is 0.94 and 0.80 respectively. The mean magnitude relative error is used for comparison of proposed models with previous works. The dataset with the story point give best results followed by projects with lines of code.

Research paper thumbnail of Linear Regression Model for Agile Software Development Effort Estimation

2020 5th IEEE International Conference on Recent Advances and Innovations in Engineering (ICRAIE), 2020

Software cost estimation is always an essential task for the development management as it require... more Software cost estimation is always an essential task for the development management as it requires for estimating the effort and the time required for developing the software. A project manager requires software estimation for making a decision and predict the total budget. Success or failure of software development depends on the accurate estimation of cost and time. There are numerous tools and techniques have been developed for estimating the software cost. But all these techniques are best suitable for the traditional development methodology. From the past two decades, the agile methodology has been com for software development. So the traditional cost estimation techniques may not give the appropriate results for agile development. In this paper, the multiple linear regression models are proposed for comparing the best model for agile development. The correlation between the dependent and independent variables are also found out. The results showed that the proposed model outperforms from the decision tree, stochastic gradient boosting, and random forest.

Research paper thumbnail of The combined model for software development effort estimation using polynomial regression for heterogeneous projects

RADIOELECTRONIC AND COMPUTER SYSTEMS

Subject matter: Estimating the software work is a crucial job of persons participating in softwar... more Subject matter: Estimating the software work is a crucial job of persons participating in software project management. The difficulty in predicting effort is compounded by the fact that software development is always changing. In the past, researchers used one form of development methodology in their work to estimate effort and time. Estimations of the software projects are estimated with different size matrices. The lines of code, story point and use case point are required for the estimation using algorithmic models for procedural, agile, and object-oriented development approaches. Currently, the companies use these three types of size matrices for estimating projects. Not any one model present estimates the effort for different development approaches with different size metrics. This paper proposes a combined software estimation model for three types of development methodologies with regression analysis. The estimation can be done with the proposed model for a software project de...

Research paper thumbnail of Correction to: Software Cost Estimation for Python Projects Using Genetic Algorithm

Research paper thumbnail of Software Cost Estimation for Python Projects Using Genetic Algorithm

Software cost estimation is a process of planning, risk analysis, and decision making for project... more Software cost estimation is a process of planning, risk analysis, and decision making for project management in software development. Cost of project development encompasses a software project’s effort and development time. One popular model of software cost estimation is constructive cost model (COCOMO) model, which is a mathematical model proposed by Boehm, used for estimate the software effort and development time. The objective of this paper is to improve the basic COCOMO model’s coefficients for modern programming languages like Python, R, C++, etc. Many techniques were presented in the past for effort and time estimation using machine learning. But all these techniques were trained and tested for older programming languages. In order to improve the accuracy of COCOMO for modern programming languages, six Python projects have been considered and genetic algorithm (GA) is applied in these projects to define new values for basic COCOMO coefficients and the development time is cal...