Machine Learning Applications In Software Engineering

Estimating Software Project Effort Using Analogies

Martin Shepperd and Chris Schofield

  • M. Shepperd and C. Schofield are with the Department of Computing, Bournemouth University, Talbot Campus, Poole, BH12 5BB United Kingdom. E-mail: Imsliepper, cschofiel@bournemoutth.ac.uk.

Manuscript received 10 Feb. 1997.

Recommended for acceptance by DR. Jeffery.

For information on obtaining reprints of this article, please send e-mail to: tse@compuder.org , and reference IEEECS Log Number 104091.

Abstract Accurate project effort prediction is an important goal for the software engineering community. To date most work has focused upon building algorithmic models of effort, for example COCOMO. These can be calibrated to local environments. We describe an alternative approach to estimation based upon the use of analogies. The underlying principle is to characterize projects in terms of features (for example, the number of interfaces, the development method or the size of the functional requirements document). Completed projects are stored and then the problem becomes one of finding the most similar projects to the one for which a prediction is required. Similarity is defined as Euclidean distance in n-dimensional space where n is the number of project features. Each dimension is standardized so all dimensions have equal weight. The known effort values of the nearest neighbors to the new project are then used as the basis for the prediction. The process is automated using a PC-based tool known as ANGEL. The method is validated on nine different industrial datasets (a total of 275 projects) and in all cases analogy outperforms algorithmic models based...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Demolition Services
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.