Conference Paper

An Empirical Experiment on Analogy-Based Software Cost Estimation with CUDA Framework.

Passakorn Phannachitta, Jacky W. Keung, Ken-ichi Matsumoto
Australian Software Engineering Conference 2013 10.1109/ASWEC.2013.28

Abstract

The success of estimating software project costs using analog-based reasoning has been noticeable for over a decade. The estimation accuracy is heavily depends on different heuristic methods to selecting the best feature subsets and a suitable set of similar projects from the repository. A complete search of all possible combinations may not be feasible due to insufficient computational resources for such a large search space. In this work, the problem is revisited, and we propose a novel algorithm tailored for analogy-based software cost estimation utilizing the latest CUDA computing framework to enable estimation with large project datasets. We demonstrated the use of the proposed distributed algorithm executed on graphic processing units (GPU), which has a different architecture suitable for compute-intensive problems. The method has been evaluated using 11 real-world datasets from the PROMISE repository. Results shows that the proposed ABE-CUDA approach is able to produce the best project cost estimates by determining the best feature subsets and the most suitable number of analogous projects for estimation, significantly improves the overall feature search time and prediction accuracy for software cost estimation. More importantly, the optimized estimation result can be used as a baseline benchmark to compare with other sophisticated analogy-based methods for software cost estimation. Keywords-Software Cost Estimation, Analogy, CUDA, Empirical Experiments I. I NTRODUCTION The essential hypothesis of software development effort estimation using analogy-based estimation (ABE) is that similar software projects with similar characteristics will require similar efforts to produce [1]. While the key idea and processes of analogy-based reasoning sound straightforward, it is an approach that has received considerable attention and has been frequently attempted in software engineering [2]. It has proven to be a viable alternative method in terms of accuracy when compared with other approaches such as regression [3]. Analogy-based reasoning requires exploring a large number of different combinations of variable subsets and a suitable number of the nearest neighbour

Keywords