Predictive software models

A predictive software model (PSM) is any model extracted from software engineering data that can be readily used to make a prediction regarding some aspect of a software system. In this paper, we present some well known applications of predictive software models, and propose new potential applications for PSMs. We also introduce the promise software engineering repository of public datasets. The purpose of this repository is to promote repeatable, verifiable and refutable research in the area of predictive software models. We conclude the paper with our observations about the software engineering datasets used in building PSMs

[1]  Edward B. Allen,et al.  GP-based software quality prediction , 1998 .

[2]  Chris F. Kemerer,et al.  An empirical validation of software cost estimation models , 1987, CACM.

[3]  Premkumar T. Devanbu,et al.  Automatically Exploring Hypotheses About Fault Prediction: A Comparative Study of Inductive Logic Programming Methods , 1999, Int. J. Softw. Eng. Knowl. Eng..

[4]  Douglas Fisher,et al.  Machine Learning Approaches to Estimating Software Development Effort , 1995, IEEE Trans. Software Eng..

[5]  Adam A. Porter,et al.  Learning from Examples: Generation and Evaluation of Decision Trees for Software Resource Analysis , 1988, IEEE Trans. Software Eng..

[6]  Martin J. Shepperd,et al.  Estimating Software Project Effort Using Analogies , 1997, IEEE Trans. Software Eng..

[7]  Stan Matwin,et al.  Supporting software maintenance by mining software update records , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[8]  Lionel C. Briand,et al.  Modeling and managing risk early in software development , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[9]  José Javier Dolado,et al.  A Validation of the Component-Based Method for Software Size Estimation , 2000, IEEE Trans. Software Eng..

[10]  Edward B. Allen,et al.  Case-Based Software Quality Prediction , 2000, Int. J. Softw. Eng. Knowl. Eng..

[11]  Taghi M. Khoshgoftaar,et al.  Fault Prediction Modeling for Software Quality Estimation: Comparing Commonly Used Techniques , 2003, Empirical Software Engineering.

[12]  L. Darrell Whitley,et al.  Prediction of Software Reliability Using Connectionist Models , 1992, IEEE Trans. Software Eng..

[13]  Barry W. Boehm,et al.  Bayesian Analysis of Empirical Software Engineering Cost Models , 1999, IEEE Trans. Software Eng..

[14]  Thomas A. Corbi,et al.  The dawning of the autonomic computing era , 2003, IBM Syst. J..

[15]  June M. Verner,et al.  A Software Size Model , 1992, IEEE Trans. Software Eng..

[16]  Lionel C. Briand,et al.  An assessment and comparison of common software cost estimation modeling techniques , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[17]  Lionel C. Briand,et al.  Assessing the Applicability of Fault-Proneness Models Across Object-Oriented Software Projects , 2002, IEEE Trans. Software Eng..

[18]  Stan Matwin,et al.  Machine Learning Method for Software Quality Model Building , 1999, ISMIS.

[19]  Stan Matwin,et al.  Mining the maintenance history of a legacy software system , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[20]  Premkumar T. Devanbu,et al.  A Comparative Study of Inductive Logic Programming Methods for Software Fault Prediction , 1997, ICML.

[21]  Tim Menzies,et al.  The \{PROMISE\} Repository of Software Engineering Databases. , 2005 .

[22]  Adam A. Porter,et al.  Using measurement-driven modeling to provide empirical feedback to software developers , 1993, J. Syst. Softw..

[23]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .

[24]  Maurizio Morisio,et al.  Success and Failure Factors in Software Reuse , 2002, IEEE Trans. Software Eng..

[25]  Harvey P. Siy,et al.  Predicting Fault Incidence Using Software Change History , 2000, IEEE Trans. Software Eng..

[26]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.