This Article 
 Bibliographic References 
 Add to: 
Comparing Uniform and Flexible Policies for Software Maintenance and Replacement
March 2005 (vol. 31 no. 3)
pp. 238-255
The importance of software maintenance in managing the life-cycle costs of a system cannot be overemphasized. Beyond a point, however, it is better to replace a system rather than maintain it. We derive model and operating policy that reduces the sum of maintenance and replacement costs in the useful life of a software system. The main goal is to compare uniform (occurring at fixed time intervals) versus flexible (occurring at varying, planned time intervals) polices for maintenance and replacement. The model draws from the empirical works of earlier researchers to consider 1) inclusion of user requests for maintenance, 2) scale economies in software maintenance, 3) efficiencies derived from replacing old software technology with new software technology, and 4) the impact of software reuse on replacement and maintenance. Results from our model show that the traditional practice of maintaining or replacing a software system at uniform time intervals may not be optimal. We also find that an increase in software reuse leads to more frequent replacement, but the number of maintenance activities is not significantly impacted.

[1] Y. Ahn, J. Suh, S. Kim, and H. Kim, “The Software Maintenance Project Effort Estimation Model Based on Function Points,” J. Software Maintenance and Evolution, vol. 15, pp. 71-85, 2003.
[2] D. Andrews and N. Leventhal, Fusion: Integrating IE, CASE and JAD: A Handbook for Reengineering Systems Organizations. Prentice-Hall, 1993.
[3] G. Antoniol, A. Cimitile, G.A. DiLucca, and M. DiPenta, “Assessing Staffing Needs for a Software Maintenance Project through Queuing Simulation,” IEEE Trans. Software Eng., vol. 30, pp. 43-58, 2004.
[4] M. Aoyama, “Metrics and Analysis of Software Architecture Evolution with Discontinuity,” Proc. Fifth Int'l Workshop Principles of Software Evolution, pp. 103-107, 2002.
[5] L. Aversano and M. Tortorella, “An Assessment Strategy for Identifying Legacy System Evolution Requirements in E-Business Context,” J. Software Maintenance and Evolution, vol. 16, pp. 255-276, 2004.
[6] R.K. Bandi, V.K. Vaishnavi, and D.E. Turk, “Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics,” IEEE Trans. Software Eng., vol. 29, no. 1, pp. 77-87, Jan. 2003.
[7] R. Banker and C.F. Kemerer, “Scale Economies in New Software Development,” IEEE Trans. Software Eng., vol. 15, pp. 1199-1205, 1989.
[8] R. Banker and S. Slaughter, “A Field Study of Scale Economies in Software Maintenance,” Management Science, vol. 43, no. 12, pp. 1709-1725, 1997.
[9] R. Banker, S. Datar, C. Kemerer, and D. Zweig, “Software Complexity and Maintenance Costs,” Comm. ACM, vol. 36, no. 11, pp. 81-94, 1993.
[10] R. Banker, G. Davis, and S. Slaughter, “Software Development Practice, Software Complexity, and Software Maintenance Performance: A Field Study,” Management Science, vol. 44, no. 4, pp. 433-450, 1998.
[11] A. Barua and T. Mukhopadhyay, “A Cost Analysis of the Software Dilemma: To Maintain or to Replace,” Proc. 22nd Hawaii Int'l Conf. Systems Sciences, pp. 89-98, 1989.
[12] V. Basili, L. Briand, S. Condon, Y.-M. Kim, W.L. Melo, and J.D. Valett, “Understanding and Predicting the Process of Software Maintenance Releases,” Proc. 18th Int'l Conf. Software Eng. (ICSE '96), pp. 464-474, 1996.
[13] R. Bellman, “Equipment Replacement Policy,” J. Society for Industrial and Applied Math., vol. 3, pp. 133-136, 1955.
[14] S. Bendifallah and W. Scacchi, “Understanding Software Maintenance Work,” IEEE Trans. Software Eng., vol. 13, pp. 311-323, 1987.
[15] E. Berk and K. Moinzadeh, “Analysis of Maintenance Policies for M Machines with Deteriorating Performance,” IIE Trans., vol. 32, pp. 433-444, 2000.
[16] A. Bianchi, D. Caivano, F. Lanubile, and G. Visaggio, “Evaluating Software Degradation through Entropy,” Proc. IEEE Seventh Int'l Software Metrics Symp. (METRICS 2001), pp. 210-219, 2001.
[17] B.W. Boehm, “The Economics of Software Maintenance,” Proc. Software Maintenance Workshop, R.S. Arnold, ed., pp. 9-37, Dec. 1983.
[18] E. Burch and H. Kung, “Modeling Software Maintenance Requests: A Case Study,” Proc. IEEE Int'l Conf. Software Maintenance, pp. 40-47, 1997.
[19] T. Chan, S. Chung, and T. Ho, “An Economic Model to Estimate Software Rewriting and Replacement Times,” IEEE Trans. Software Eng., vol. 22, no. 8, pp. 580-598, 1996.
[20] J. Cleland-Huang, C.K. Chang, and M. Christensen, “Event-Based Traceability for Managing Evolutionary Change,” IEEE Trans. Software Eng., vol. 29, 2003.
[21] D. Coleman, D. Ash, B. Lowther, and P. Oman, “Using Metrics to Evaluate Software System Maintainability,” Computer, vol. 27, pp. 44-49, 1994.
[22] M. Daneva, “Measuring Reuse of SAP Requirements: a Model-Based Approach,” Proc. 1999 Symp. Software Reusability, pp. 141-150, 1999.
[23] P. Donzelli, “Tailoring the Software Maintenance Process to Better Support Complex Systems Evolution Projects,” J. Software Maintenance and Evolution, vol. 15, pp. 27-40, 2003.
[24] F. Fioravanti and P. Nesi, “Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems,” IEEE Trans. Software Eng., vol. 27, no. 12, pp. 1062-1084, Dec. 2001.
[25] D. Gefen and S.L. Scheberger, “The NonHomogeneous Maintenance Periods: A Case Study of Software Modifications,” Proc. 1996 Int'l Conf. Software Maintenance (ICSM '96), pp. 134-141, 1996.
[26] R.L. Glass and R.A. Noiseux, Software Maintenance Guidebook. Prentice-Hall, 1981.
[27] I.S. Gradshteyn and I.M. Ryzhik, Table of Integrals, Series and Products. San Diego, Calif.: Academic Press, 1980.
[28] A.E. Hassan and R.C. Holt, “Predicting Change Propagation in Software Systems,” Proc. 20th Int'l Conf. Software Maintenance, pp. 284-293, 2004.
[29] J. Heales, “A Model of Factors Affecting an Information System's Change in State,” J. Software Maintenance and Evolution: Research and Practice, vol. 14, no. 6, pp. 409-427, 2002.
[30] C.-Y. Huang, M.R. Lyu, and S.-Y. Kuo, “A Unified Scheme of Some Nonhomogenous Poisson Process Models for Software Reliability Estimation,” IEEE Trans. Software Eng., vol. 29, no. 3, pp. 261-269, 2003.
[31] W. Humphrey, Managing the Software Process. Addison-Wesley, 1990.
[32] D. Kafura and G. Reddy, “The Use of Software Complexity Metrics in Software Maintenance,” IEEE Trans. Software Eng., vol. 13, pp. 335-343, 1987.
[33] H.-J. Kung, “Quantitative Method to Determine Software Maintenance Life Cycle,” Proc. 20th Int'l Conf. Software Maintenance, pp. 232-241, 2004.
[34] M.M. Lehman, “On Understanding Laws, Evolution and Conservation in the Large-Program Life Cycle,” J. Systems Software, vol. 1, pp. 213-232, 1980.
[35] M.M. Lehman, J.F. Ramil, and G. Kahen, “Replacement Decisions for E-Type Software— Some Elements,” Proc. ICSE 2000 Second Workshop Economics-Driven Software Eng. Research, 2000.
[36] M.M. Lehman, J.F. Ramil, and P. Wernick, “The Influence of Global Factors on Software System Evolution,” Research Report 98/11, Dept. of Computers, Imperial College, London, Oct. 1998.
[37] B.P. Lientz and B. Swanson, Software Maintenance Management. Addison-Wesley, 1981.
[38] J.E. Matson, B.E. Barrett, and J.M. Mellichamp, “Software Development Cost Estimation Using Function Points,” IEEE Trans. Software Eng., vol. 20, pp. 275-287, 1994.
[39] J.J. McCall, “Maintenance Policies for Stochastically Failing Equipment: A Survey,” Management Science, vol. 11, pp. 493-524, 1965.
[40] C.L. McClure, Managing Software Development and Maintenance. New York: Van Nostrand Reinhold, 1981.
[41] T. Mens and T. Tourwe, “Survey of Software Refactoring,” IEEE Trans. Software Eng., vol. 30, pp. 126-138, 2004.
[42] K. Moinzadeh and Y. Tan, “Economic Control and Inspection Policies for High Speed Unreliable Production Systems,” IIE Trans., to be published.
[43] J.B. Munson, “Software Maintainability: A Practical Concern for Lifecycle Costs,” Computer, vol. 14, pp. 103-109, 1981.
[44] S. Nair and W.J. Hopp, “A Model for Equipment Replacement Due to Technological Obsolescence,” European J. Operational Research, vol. 63, pp. 207-221, 1992.
[45] A. Pengally, “Performance of Effort Estimating Techniques in Current Development Environments,” Software Eng. J., Sept. 1995.
[46] J. Poul, Measuring Software Reuse: Principles, Practices and Economic Models. Addison-Wesley, 1997.
[47] L.B.S. Racoon, “A Learning Curve Primer for Software Engineers,” ACM Software Eng. Notes, vol. 21, no. 1, pp. 77-86, 1996.
[48] S. Rajagopalan, M.R. Singh, and T.E. Morton, “Capacity Expansion and Replacement in Growing Markets with Uncertain Technological Breakthroughs,” Management Science, vol. 44, pp. 12-30, 1998.
[49] I. Sahin and F.M. Zahedi, “Policy Analysis for Warranty, Maintenance, and Upgrade of Software Systems,” J. Software Maintenance and Evolution: Research and Practice, vol. 13, pp. 469-493, 2001.
[50] N.F. Schneidewind, “The State of Software Maintenance,” IEEE Trans. Software Eng., vol. 13, no. 3, pp. 303-310, Mar. 1987.
[51] H.M. Sneed, “A Cost Model for Software Maintenance & Evolution,” Proc. 20th Int'l Conf. Software Maintenance, pp. 264-273, 2004.
[52] J. Sutherland, “Business Objects in Corporate Information Systems,” ACM Computing Survey, vol. 27, pp. 274-276 1995.
[53] E.B. Swanson, “The Dimensions of Maintenance,” Proc. Second Int'l Conf. Software Eng., pp. 492-496 Oct. 1976.
[54] T. Tamai and Y. Torimitsu, “Software Lifetime and Its Evolution Process over Generations,” Proc. Conf. Software Maintenance, pp. 63-69, Nov. 1992.
[55] C.-H. Tsai and C.-C. Chang, “Two Alternative Imperfect Multiaction Maintenance Models,” Eng. Optimization, vol. 35, no. 2, pp. 215-227, 2003.
[56] M.-H. Ye, “Optimal Replacement Policy with Stochastic Maintenance and Operation Costs,” European J. Operational Research, vol. 44, pp. 84-94, 1990.
[57] E. Yourdon, “Structured Maintenance,” Techniques of Program and System Maintenance, G. Parikh, eds., 1980.

Index Terms:
Software maintenance and replacement, cost models, optimal scheduling.
Yong Tan, Vijay S. Mookerjee, "Comparing Uniform and Flexible Policies for Software Maintenance and Replacement," IEEE Transactions on Software Engineering, vol. 31, no. 3, pp. 238-255, March 2005, doi:10.1109/TSE.2005.30
Usage of this product signifies your acceptance of the Terms of Use.