Koskinen, J. (Collector of the material) “Software maintenance cost estimation (ITK S64)”. Dept. of Computer Science and Information Systems, Univ. of Jyväskylä (to appear).
This report contains the articles of the course: Software maintenance cost estimation
(Ohjelmistojen ylläpidon kustannusten arviointi). Strong background knowledge
on the area of software engineering is necessary, some knowledge on software
maintenance is expected and knowledge on general software cost modeling is very
useful but not necessary.
PART I provides a classic introduction to software engineering economics.
PART II discusses risk management. Risk-factors affect maintenance costs.
PART III discusses strategic business decisions related to maintenance policies.
PART IV contains a classic work on software maintenance project productivity.
PART V focuses on complexity metrics. Reliable metrics support maintenance
cost estimations. Software complexity is the most studied part of this area.
PART VI depicts research which is explicitly focused on measuring
maintainability. Proactive (preventive) maintenance aims at enhancing software
maintainability, which often is an effective strategy in the “long run”.
PART VII gathers main articles of actual software maintenance task effort
estimation. These models should help in deciding whether to perform maintenance
(whether proactive or reactive).
PART IIX discusses estimating the costs of corrective maintenance, debugging,
and Year 2000 problem (which is an example of a maintenance problem, whose cost
effects were very large and hard to determine).
PART IX contains one of the few existing works focusing specifically on
measuring the effects of code changes.
PART X discusses reengineering effects. Software reengineering aims at
improving the maintainability of software. Although these improvements may be
beneficial in the “long run” their implementation may also be too costly to be
justifiable.
PART XI finally provides a detailed mathematical model for supporting the decision
of whether to continue maintaining the existing software, rewrite it or replace
it.
The following web-page will give further information
and instructions for the course:
http://www.cs.jyu.fi/~koskinen/oyp3.htm
1.8.2003, Assistant Professor Jussi Koskinen
Department of Computer Science and Information
Systems
University of Jyväskylä
|
I |
INTRODUCTION |
|
I-1 |
Boehm, B. (1984). “Software engineering economics”. IEEE Transactions on Software Engineering 10 (1), 4-21. |
|
II |
RISK MANAGEMENT |
|
II-1 |
Boehm, B. (1991). “Software risk management: principles and practices”. IEEE Software 8 (1), 32-41. |
|
II-2 |
Sneed, H. (1999). “Risks involved in reengineering projects”. Proceedings of the Sixth Working Conference on Reverse Engineering, 204-211. |
|
III |
STRATEGIC
BUSINESS DECISIONS |
|
III-1 |
Sahin, I. & Zahedi, M. (2001). “Policy analysis for warranty, maintenance, and upgrade of software systems”. Journal of Software Maintenance and Evolution: Research and Practice 13, 469-493. |
|
IV |
MAINTENANCE PROJECT
PRODUCTIVITY |
|
IV-1 |
Banker, R., Datar, S. & Kemerer, C. (1991). “A model to evaluate variables impacting the productivity of software maintenance projects”. Management Science 37 (1). |
|
V |
SOFTWARE COMPLEXITY
METRICS |
|
V-1 |
Kafura, D. & Reddy, G. (1987). “The use of software complexity metrics in software maintenance”. IEEE Transactions on Software Engineering SE-13 (3), 335-343. |
|
V-2 |
Lanning, D. & Khoshgoftaar, T. (1994). “Modeling the
relationship between source code complexity and maintenance difficulty”. Computer 27 (9), 35-40. |
|
V-3 |
Kemerer, C. (1995). “Software complexity and software maintenance: a survey of empirical research”. Annals of Software Engineering 1, 1-22. J.C. Baltzer AG, Science Publishers. |
|
VI |
EVALUATION OF
MAINTAINABILITY |
|
VI-1 |
Coleman, D., Ash, D., Lowther, B. & Oman, P. (1994). “Using metrics to evaluate software system maintainability”. Computer 27 (8), 44-49. |
|
VI-2 |
Lehman, M., Perry, D. & Ramil, J. (1998). “Implications of evolution metrics on software maintenance”. Proceedings of the International Conference on Software Maintenance - 1998, 208-217. IEEE Computer Soc. |
|
VII |
MAINTENANCE EFFORT ESTIMATION |
|
VII-1 |
Jørgensen, M. (1995). “Experience with the accuracy of
software maintenance task effort prediction models”. IEEE Transactions on Software Engineering 21 (8), 674-681. |
|
VII-2 |
Sneed, H.
(1995). “Estimating the costs of software maintenance tasks”. Proceedings of the International
Conference on Software Maintenance - 1995, 168-181. IEEE Computer Soc. Press. |
|
VII-3 |
Abran, A., Silva, I. & Primera, L. (2002). “Field studies using functional size measurement in building estimation models for software maintenance”. Journal of Software Maintenance and Evolution: Research and Practice 14, 31-64. |
|
VII-4 |
De Lucia,
A., Di Penta, M., Stefanucci, S. & Venturi, G. (2002). “Early
effort estimation of massive maintenance processes”. Proceedings of the International Conference on Software Maintenance -
2002, 234-237. IEEE Computer Soc. |
|
IIX |
DEBUGGING EFFORT
ESTIMATION |
|
IIX-1 |
McCabe, T. (1996). “Cyclomatic complexity and the Year 2000”. IEEE Software 13 (3), 115-117. |
|
IIX-2 |
Jones, C.
(1997). “Slow response to Year 2000 problem”. IEEE Software 14 (3),
114-115 (an interview). |
|
IX |
CODE
CHANGE EFFECTS |
|
IX-1 |
Munson,
J. & Elbaum, S. (1998). “Code Churn: a measure for estimating the
impact of code change”. In: Khoshgoftaar, T. & Bennett, K. (Eds.) Proceedings of the International
Conference on Software Maintenance - 1998, 24-31. IEEE Computer Soc. |
|
X |
REENGINEERING
EFFECTS |
|
X-1 |
Sneed, H.
(1995). “Planning the reengineering of legacy systems”. IEEE Software 12 (1), 24-34. |
|
X-2 |
Visaggio,
G. (2000). “Value-based decision model for renewal processes in software
maintenance”. Annals of Software
Engineering 9, 215-233. |
|
XI |
SOFTWARE
REPLACEMENT |
|
XI-1 |
Chan, T., Chung, S. & Ho, T. (1996). “An economic model to estimate software rewriting and replacement times”. IEEE Transactions on Software Engineering 22 (8), 580-598. |
Updated: August 2, 2004 by Jussi Koskinen.