453 research outputs found

    Using improved analytical programming algorithm for effort estimation in software engineering

    Get PDF
    This paper evaluates the usage of improved analytical programming algorithm for software effort estimation. The new model was generated by improved analytical programming and it was tested and compared with Karner's model to assess its properties. Least Absolute Deviation and random sub-sampling cross validation were used to assess the reliability to this experiment. The experimental results shows that the new model generated by analytical programming outperforms the Karner's equation about 40 %. Moreover, this work shows that improved analytical programming algorithm is feasible method for calibrating Use Case Points method. All results were evaluated by standard approach: visual inspection and statistical significance testing.Internal Grant Agency of Tomas Bata University in Zlin [IGA/FAI/2016/035

    Software Size and Effort Estimation from Use Case Diagrams Using Regression and Soft Computing Models

    Get PDF
    In this research, we propose a novel model to predict software size and effort from use case diagrams. The main advantage of our model is that it can be used in the early stages of the software life cycle, and that can help project managers efficiently conduct cost estimation early, thus avoiding project overestimation and late delivery among other benefits. Software size, productivity, complexity and requirements stability are the inputs of the model. The model is composed of six independent sub-models which include non-linear regression, linear regression with a logarithmic transformation, Radial Basis Function Neural Network (RBFNN), Multilayer Perceptron Neural Network (MLP), General Regression Neural Network (GRNN) and a Treeboost model. Several experiments were conducted to train and test the model based on the size of the training and testing data points. The neural network models were evaluated against regression models as well as two other models that conduct software estimation from use case diagrams. Results show that our model outperforms other relevant models based on five evaluation criteria. While the performance of each of the six sub-models varies based on the size of the project dataset used for evaluation, it was concluded that the non-linear regression model outperforms the linear regression model. As well, the GRNN model exceeds other neural network models. Furthermore, experiments demonstrated that the Treeboost model can be efficiently used to predict software effort

    Prediction accuracy measurements as a fitness function for software effort estimation

    Get PDF
    This paper evaluates the usage of analytical programming and different fitness functions for software effort estimation. Analytical programming and differential evolution generate regression functions. These functions are evaluated by the fitness function which is part of differential evolution. The differential evolution requires a proper fitness function for effective optimization. The problem is in proper selection of the fitness function. Analytical programming and different fitness functions were tested to assess insight to this problem. Mean magnitude of relative error, prediction 25 %, mean squared error (MSE) and other metrics were as possible candidates for proper fitness function. The experimental results shows that means squared error performs best and therefore is recommended as a fitness function. Moreover, this work shows that analytical programming method is viable method for calibrating use case points method. All results were evaluated by standard approach: visual inspection and statistical significance. © 2015, Urbanek et al.Tomas Bata University in Zlin [IGA/CebiaTech/2015/034

    Software Effort Estimation Accuracy Prediction of Machine Learning Techniques: A Systematic Performance Evaluation

    Full text link
    Software effort estimation accuracy is a key factor in effective planning, controlling and to deliver a successful software project within budget and schedule. The overestimation and underestimation both are the key challenges for future software development, henceforth there is a continuous need for accuracy in software effort estimation (SEE). The researchers and practitioners are striving to identify which machine learning estimation technique gives more accurate results based on evaluation measures, datasets and the other relevant attributes. The authors of related research are generally not aware of previously published results of machine learning effort estimation techniques. The main aim of this study is to assist the researchers to know which machine learning technique yields the promising effort estimation accuracy prediction in the software development. In this paper, the performance of the machine learning ensemble technique is investigated with the solo technique based on two most commonly used accuracy evaluation metrics. We used the systematic literature review methodology proposed by Kitchenham and Charters. This includes searching for the most relevant papers, applying quality assessment criteria, extracting data and drawing results. We have evaluated a state-of-the-art accuracy performance of 28 selected studies (14 ensemble, 14 solo) using Mean Magnitude of Relative Error (MMRE) and PRED (25) as a set of reliable accuracy metrics for performance evaluation of accuracy among two techniques to report the research questions stated in this study. We found that machine learning techniques are the most frequently implemented in the construction of ensemble effort estimation (EEE) techniques. The results of this study revealed that the EEE techniques usually yield a promising estimation accuracy than the solo techniques.Comment: Pages: 27 Figures: 15 Tables:

    Towards an Early Software Estimation Using Log-Linear Regression and a Multilayer Perceptron Model

    Get PDF
    Software estimation is a tedious and daunting task in project management and software development. Software estimators are notorious in predicting software effort and they have been struggling in the past decades to provide new models to enhance software estimation. The most critical and crucial part of software estimation is when estimation is required in the early stages of the software life cycle where the problem to be solved has not yet been completely revealed. This paper presents a novel log-linear regression model based on the use case point model (UCP) to calculate the software effort based on use case diagrams. A fuzzy logic approach is used to calibrate the productivity factor in the regression model. Moreover, a multilayer perceptron (MLP) neural network model was developed to predict software effortbased on the software size and team productivity. Experiments show that the proposed approach outperforms the original UCP model. Furthermore, a comparison between the MLP and log-linear regression models was conducted based on the size of the projects. Results demonstrate that the MLP model can surpass the regression model when small projects are used, but the log-linear regression model gives better results when estimating larger projects

    Analysis and selection of a regression model for the Use Case Points method using a stepwise approach

    Get PDF
    This study investigates the significance of use case points (UCP) variables and the influence of the complexity of multiple linear regression models on software size estimation and accuracy. Stepwise multiple linear regression models and residual analysis were used to analyse the impact of model complexity. The impact of each variable was studied using correlation analysis. The estimated size of software depends mainly on the values of the weights of unadjusted UCP, which represent a number of use cases. Moreover, all other variables (unadjusted actors' weights, technical complexity factors, and environmental complexity factors) from the UCP method also have an impact on software size and therefore cannot be omitted from the regression model. The best performing model (Model D) contains an intercept, linear terms, and squared terms. The results of several evaluation measures show that this model's estimation ability is better than that of the other models tested. Model D also performs better when compared to the UCP model, whose Sum of Squared Error was 268,620 points on Dataset 1 and 87,055 on Dataset 2. Model D achieved a greater than 90% reduction in the Sum of Squared Errors compared to the Use Case Points method on Dataset 1 and a greater than 91% reduction on Dataset 2. The medians of the Sum of Squared Errors for both methods are significantly different at the 95% confidence level (p < 0.01), while the medians for Model D (312 and 37.26) are lower than Use Case Points (3134 and 3712) on Datasets 1 and 2, respectively. © 2016 The Author

    Procena napora i troškova za razvoj softverskih projekata pomoću veštačkih neuronskih mreža zasnovanih na Tagučijevim ortogonalnim vektorskim planovima

    Get PDF
    The modern software industry requires fast, highquality, and accurate forecasting of efforts and costs before the actual effort is invested in realizing the software product. Such requirements are a challenge for any software company, which must be ready to meet the expectations of the software customer. The main factor in the successful development of software projects and reducing the risk of errors is an adequate of the effort and costs invested during its implementation. In this doctoral dissertation, different approaches and models that have not been sufficiently precise and efficient so far will be analyzed, which resulted in only about 30% of successfully implemented software solutions. The main goal is to present three new, improved models based on efficient artificial intelligence tools, artificial neural networks. All three improved models use different architectures of artificial neural networks (ANN), constructed based on Taguchi's orthogonal vector plans. The goal is to optimize the improved models to avoid repeating the number of experiments and long time for their training. Applying the clustering method to several different sets of real projects further mitigates their heterogeneous structure. In addition, the input values of the projects are homogenized by the method of fuzzification, which achieves even greater reliability and accuracy of the obtained results. Optimization by the Taguchi method and increasing the coverage of a wide range of different projects leads to the efficient and successful completion of as many different software projects as possible. The main contributions of this paper are: constructing and identifying the best model for estimating effort and cost, selecting the best ANN architecture whose values converge the fastest to the minimum magnitude relative error, achieving a small number of experiments, reduced software effort estimation time due to convergence rate. Additional criteria and constraints are introduced to monitor and execute experiments using a precise algorithm to execute all three new proposed models. In addition to monitoring the convergence rate of each artificial neural network architecture, the influence of the input values of each model on the change in the value of the magnitude relative error of the model is also monitored. The models constructed in this way have been experimentally checked and confirmed several times on different sets of real projects and can be practically applied, and the obtained results indicate that the achieved error values are lower than those presented so far. Therefore, the proposed models in this dissertation can be reliably applied and used to assess the efforts and costs for software development and projects in other areas of industry and science.Savremena softverska industrija zahteva brzo, kvalitetno i precizno predviđanje napora i troškova, pre nego što se stvarni napor uloži u realizaciju softverskog proizvoda. Ovako postavljeni zahtevi predstavljaju izazov za bilokoju softversku kompaniju, koja mora biti spremna da ispuni postavljenaočekivanja naručioca softvera. Glavni faktor uspešnog razvoja softverskihprojekata i smanjenja rizika od grešaka je adekvatna procena uloženog naporai troškova tokom njegove realizacije. U ovoj doktorskoj disertaciji biće analizirani dosadašnji različitih pristupi i modeli koji nisu u najvećoj meri bilidovoljno precizni i efikasni, što je za posledicu imalo samo oko 30% uspešnorealizovanih softverskih rešenja.Glavni cilj biće predstavljanje tri nova poboljšana modela zasnovana na efikasnim alatima veštačke inteligencije, veštačkim neuronskim mrežama (engl. Artificial neural networks/ANN). Sva tri poboljšana modela koristerazličite arhitekture veštačkih neuronskih mreža, konstruisanih na osnovuTagučijevih ortogonalnih vektorskih planova. Cilj je optimizacija poboljšanihmodela kako bi se izbeglo ponavljanje broja eksperimenata i dugotrajno vremeza njihovo obučavanje, odnosno treniranje. Primenom metode klasterizacije naviše različitih skupova realnih projekata dodatno se ublažava njihova heterogena struktura. Dodatno, ulazne vrednosti projekata se homogenizuju metodom fazifikacije čime se postiže još veća pouzdanost i tačnost dobijenih  rezultata. Optimizacija Tagučijevom metodom uz povećanje pokrivenosti širokog spektra različitih projekata, dovodi do efikasnog i uspešnog dovršavanja što više različitih softverskih projekta. Glavni doprinosi ove disertacije su: konstruisanje i identifikovanje najboljeg modela za procenu napora i troškova, odabir najbolje ANN arhitekture čije vrednosti najbrže konvergiraju minimalnoj magnitudnoj relativnoj greški, postizanje malog broja izvedenih eksperimenata, smanjeno vreme procene softverskog napora zbog  stope konvergencije. Uvode se i dodatni kriterijumi i ograničenja za nadgledanje i izvršavanje eksperimenata pomoću preciznog algoritma za izvršavanje nad sva tri nova predložena modela. Pored praćenja brzine konvergencije svake arhitekture veštačke neuronske mreže, prati se i uticaj ulaznih veličina svakog modela na promenu vrednosti magnitudne relativne greške modela. Na ovakav način konstruisani modeli eksperimentalno su više puta proveravani i potvrđeni na različitim skupovima realnih projekata i mogu se praktično primenjivati, a dobijeni rezultati ukazuju da su postignute vrednosti  grešaka niže od dosadašnjih predstavljenih. Samim tim se predloženi modeli u ovoj disertaciji mogu pouzdano primenjivati i koristiti ne samo za procenu  napora i troškova za razvoj softverskih već i za razvoj projekata u drugim oblastima industrije i nauk
    corecore