Browse > Article
http://dx.doi.org/10.21219/jitam.2015.22.3.143

Purposes, Results, and Types of Software Post Life Cycle Changes  

Koh, Seokha (Department of Management Information Systems, Chungbuk National University)
Han, Man Pil (Department of Management Information Systems, Chungbuk National University)
Publication Information
Journal of Information Technology Applications and Management / v.22, no.3, 2015 , pp. 143-167 More about this Journal
Abstract
This paper addresses the issue how the total life cycle cost may be minimized and how the cost should be allocated to the acquirer and developer. This paper differentiates post life cycle change (PLCC) endeavors from PLCC activities, rigorously classifies PLCC endeavors according to the result of PLCC endeavors, and rigorously defines the life cycle cost of a software product. This paper reviews classical definitions of software 'maintenance' types and proposes a new typology of PLCC activities too. The proposed classification schemes are exhaustive and mutually exclusive, and provide a new paradigm to review existing literatures regarding software cost estimation, software 'maintenance,' software evolution, and software architecture from a new perspective. This paper argues that the long-term interest of the acquirer is not protected properly because warranty period is typically too short and because the main concern of warranty service is given to removing the defects detected easily. Based on the observation that defects are caused solely by errors the developer has committed for software while defects are often induced by using for hardware (so, this paper cautiously proposes not to use the term 'maintenance' at all for software), this paper argues that the cost to remove defects should not be borne by the acquirer for software.
Keywords
Software Maintenance; Software Warranty Service; Software Evolution; Architecture Erosion; Life Cycle Cost;
Citations & Related Records
Times Cited By KSCI : 3  (Citation Analysis)
연도 인용수 순위
1 Bellay, B. and Gall, H., "A Comparison of Four Reverse Engineering Tools", Proceedings of the 4th Working Conference on Reverse Engineering, IEEE, 1997, pp. 2-11.
2 Boehm, B. W., Software Engineering Economics, Prentice Hall PTR: Upper Saddle River, NJ, USA, 1981.
3 Chaptin, N., Hale, J., Kahn, K. R. and Jr., Tan, W. G., "Types of Software Evolution and Software Maintenance", Journal of Software Maintenance and Evolution, Vol. 13, No. 1, 2001, p. 3.   DOI
4 Chen, L., Babar, M. A., and Nuseibeh, B., "Characterizing Architecturally Significant Requirements", IEEE Software, Vol. 40, 2013, pp. 38-45.
5 Cleland-Huang, J., Hanmer, R. S., Supakhul, S., and Mirakhorli, M., "The Twin Peaks of Requirements and Architecture", IEEE Software, 2013, pp. 24-29.
6 Dalgarno, M., "When Good Architecture Goes Bad", Methods and Tools, Vol. 17, 2009, pp. 27-34.
7 Dekleva, S. M., "Software Maintenance: 1990 Status", Journal of Software Maintenance: Research and Practice, Vol. 4, No. 4, 1992, pp. 233-247.   DOI
8 de Silva, L. and Balasubramaniam, D., "Controlling Software Architecture Erosion: A Survey", Journal of Systems and Systems, Vol. 85, 2012, pp. 132-152.
9 Eick, S. G., Graves, T. L., Karr, A. F., Marron, J. S., and Mockus, A., "Does Code Decay? Assessing the Evidence from Change Management Data", IEEE Transactions on Software Engineering, Vol. 27, 2001, pp. 1-12.
10 Fowler, M., Refactoring: Improving the Design o Existing Code, Addison Wesley, 1999.
11 Gannod, G. C. and Cheng, B. H. C., "A Framework for Classifying and Comparing Software Reverse Engineering and Design Recovery Techniques", Proceedings of the 6th Working Conference on Reverse Engineering, IEEE, 1999, pp. 77-88.
12 Glass, R. L., "Results of the First IS State-of-the-Practice Survey", The Software Practitioner, May 1996, pp. 3-4.
13 Godfrey, M. W. and Tu, Q., "Growth, Evolution, and Structural Change in Open Source Software", Proceedings of the International Workshop on Principles of Software Evolution, 2001, pp. 103-106.
14 Godfrey, M. W. and Tu, Q., "Evolution in Open Source Software: A Case Study", Proceedings of the International Conference on Software Maintenance, IEEE Computer Society, Washington, DC, 2000, pp. 131-142.
15 Grottke, M., Matias, R. and Trivedi, K. S., "The Fundamentals of Software Aging", Proceedings of 1st International Workshop of Software Aging and Rejuvenation, IEEE, 2008, pp. 1-6.
16 Harris, D. R., Reubenstein, H. B., and Yeh, A. S., "Reverse Engineering to the Architectural Level", Proceedings of the 17th International Conference on Software Engineering, ACM, 1995, pp. 186-195.
17 Hatton, L., "How Accurately Do Engineers Predict Software Maintenance Tasks?" Computer, February 2007, pp. 64-69.
18 Helms, G. L. and Weiss, I. R., "Applications Software Maintenance: Can It Be Controlled?", ACM SIGMIS Database, Vol. 16, No. 2, 1984, pp. 16-18.   DOI
19 Herraiz, I., Rodriguez, D., Robles, G., and Gonzalez-Barahona, J. M., "The Evolution of the Laws of Software Evolution: A Discussion Based on a Systematic Literature Review", ACM Computing Surveys, Vol. 46, No. 2, Article 28, 2013.
20 Hochstein, S. and Lindvall, M., "Combating Architectural Degeneration: A Survey", Information and Software Technology, Vol. 47, 2005, pp. 643-646.   DOI
21 Huang, Y., Kintala, C., Kolettis, N., and Fulton, N. D., "Software Rejuvenation: Analysis, Module and Applications", Proceedings of International Symposium on Fault-Tolerant Computing, IEEE, 1995, pp. 381-390.
22 Hunt, B., Turner, B., and McRitchie, K., "Software maintenance Implications on Cost and Schedule", Proceedings of Aerospace Conference, 2008 IEEE, March 2008, pp. 1-8.
23 IEEE, IEEE Std. 1219-1998, IEEE Standard for Software Maintenance, 1998.
24 ISO/IEC, ISO/IEC 14764(IEEE Std 14764- 2006), Software Engineering-Software Life Cycle Processes-Maintenance (2nded.), 2006 -09-01.
25 Israeli, A. and Feitelson, D. G., "The Linux Kernel as a Case Study in Software Evolution", J. of System and Software, Vol. 83, No. 3, 2010, pp. 485-501.   DOI
26 Izurieta, C. and Bieman, J., "How Software Designs Decay: A Pilot Study of Pattern Evolution", Proceedings of 1st International Symposium on Empirical Software Engineering and Measurement, IEEE, 2007, pp. 449-451.
27 Jacobson, I., Object-Oriented Software Engineering, Addison Wesley, 1992.
28 Jones, C., Software, Assessments, Benchmarks, and Best Practices, Addison Wesley Longman, Inc., 2000.
29 Jorgensen, M., Sjoberg, D. I. K., Kirkeboen, G., "The prediction Ability of Experienced Software Maintainers", in Proceedings of 4th European Conference on Software Maintenance and Re-engineering, 2000, pp. 93-99.
30 Kemerer, C. F. and Slaughter, S. A., "Determinants of Software Maintenance Profiles: An Empirical Investigation", Journal of Software Maintenance: Research and Practice, Vol. 9, No. 4, 1997, pp. 235-251.   DOI
31 Koch, S., "Evolution of Open Source Software Systems-A Large-Scale Investigation", Proceedings of the International Conference on Open Source Systems, 2005.
32 Koch, S., "Software Evolution in Open Source Projects-A Large-Scale Investigation", J. of Software Maintenance and Evolution Research Practice, Vol. 19, No. 6, 2007, pp. 361-382.   DOI
33 Koh, S., "Purposes and Types of Post Life Cycle Changes", Proceedings of 13th International Conference on IT Applications and Management: Diversity and Collaboration in the Age of Digital Convergence, Phitsanulok, Thailand, January 14-16, 2015, pp. 75-87.
34 Koh, S., "Types of Post Life Cycle Changes and Evolution of Software", Proceedings of 12th International Conference on IT Applications & Management: Culture and Humanities in the Digital Future, Kenya, July 8-9, 2014, pp. 51-55.
35 Koh, S., "A Software Architecture Life Cycle Model Based on the Program Management Perspective: The Expanded Spiral Model", J. of Information Technology Applications and Management, Vol. 20, No. 2, 2013, pp. 69-87.
36 Koh, S., "An Extensive Model on Essential Elements of Software Architecture", J. of Information Technology Applications and Management, Vol. 19, No. 2, 2012, pp. 135- 147.
37 Koh, S. and Ji, K. S., "Contextual Models of Business Application Software Architecture", J. of Information Technology Applications and Management, Vol. 20, No. 3, Sept. 2013, pp. 1-18.
38 Kooser, A. C., "Old Software Draining your IT Budget?", Entrepreneur, May 2005, p. 24.
39 Lehman, M. M., "Program, Life Cycles, and Laws of Software Evolution", Proceedings of the IEEE (Special Issue on Software Engineering) 1980, pp. 1060-1076; with more detail as "Programs, Programming and the Software Life-Cycle", in: System Design, Infotech State of Art, Rept. Se 6, No. 9, Pergamon Infotech Ltd. Maidenhead, 1981, pp. 263-291; reprinted as Chapter 19 in Lehman, M. M., L. A. Belady, Program Evolution- Process of Software Change, Academic Press, London, 1985.
40 Lehman, M. M., "Laws of Software Evolution Revisited", Proceedings of the European Workshop on Software Process Technology, Springer-Verlag, London, 1996, pp. 108-124.
41 Lehman, M. M., "Laws of Program Evolution- Rules and Tools for Programming Management", Proceedings of the Infotech State of Art Conference, Why Software Projects Fail, 1978; also as Chapter 12 in M.M. Lehman, L. A. Belady, Program Evolution- Process of Software Change, Academic Press, London, 1985.
42 Lehman, M. M., "Programs, Cities, Students, Limits to Growth?", in: Imperial College of Science and Technology Inaugural Lecture Series, Vol. 9, 1974, pp. 211-229; Also in M. M. Lehman, L. A. Belady, Program Evolution- Process of Software Change, Academic Press, London, 1985.
43 Lehman, M. M., The Programming Process, IBM Res. Rept. RC2722, December 1969; also as Chapter 3 in M. M. Lehman, L. A. Belady, Program Evolution-Process of Software Change, Academic Press, London, 1985.
44 Lehman, M. M., and Belady, L. A., Program Evolution-Process of Software Change, Academic Press, London, 1985.
45 Lehman, M. M. and Ramil, J. F., "Software Evolution-Background, Theory, Practice", Information Processing Letters, Vol. 88, 2003, pp. 33-44.   DOI
46 Lehnert, S., Farooq, Q., and Riebisch, M., "A Taxonomy of Change Types and its Application in Software Evolution", Proceedings of 2012 IEEE 19th International Conference and Workshop on Engineering of Computer-Based Systems, 2012, pp. 98-107.
47 Mirakhorli, M., "Tracing Architecturally Significant Requirements: A Decision-Centric Approach", Proceedings of ICSE'11, May 21-28, 2011, Waikiki, Honolulu, HI, USA, pp. 1126-1127.
48 Lewis, R. O., Independent Verification and Validation: A Life Cycle Engineering Process for Quality Software, New York: John Wiley and Sons, Inc., 1992.
49 Lientz, B. and Swanson, B., Software Maintenance Management, Addison-Wesley, Reading, MA, 1980.
50 Martin, R. J. and Osborne, W., "Guidance of Software Maintenance", U.S. National Bureau of Standards, NBS Pub. 500-129, Dec, 1983.
51 Neamtiu, I., Xie, G., and Chen, J., "Towards a Better Understanding of Software Evolution: An Empirical Study on Open-Source Software", J. of Software: Evolution and Process, Vol. 25, No. 3, 2013, pp. 193-218.   DOI
52 NF EN 13306, Terminologies de la Maintenance, June 2001.
53 Niu, N., Su, L. D., Chen, J.-R. C., and Niu, Z., "Analysis of Architecturally Significant Requirements for Enterprise Systems", IEEE Systems Journal, 2013, pp. 1-8.
54 OMG(Object Management Group), Business Process Model and Notation (BPMN), Ver. 2.0, OMG, 2011.
55 Parnas, D. L., "Software Aging", Proceedings of the 16th International Conference on Principles of Software Engineering, Sorrento, Italy, 1994, pp. 279-287.
56 Perry, D. E. and Wolf, A. L., "Foundations for the Study of Software Architecture", ACM Software Engineering Notes, Vol. 17, No. 4, 1992, pp. 40-52.   DOI
57 PMI, A Guide to the Project Management Body of Knowledge (5th ed.), PMI, 2013.
58 Air Force Instruction 16-1001, Verification, Validation and Accreditation, June 1, 1996.
59 Abrahamsson, P., Babar, M. A., and Kruchen, P., "Agility and Architecture: Can They Coexist?", IEEE Software, March/April 2010, pp. 16-22.
60 Abran, A. and Nguyenkim, H., "Measurement of the Maintenance Process from a Demand-Based Perspective", Journal of Software Maintenance: Research and Practice, Vol. 5, No. 2, 1993, pp. 63-90.   DOI
61 Aldrich, J., Chambers, C., and Notkin, D., "ArchJava: Connecting Software Architecture to Implementation", Proceedings of the 24th International Conference on Software Engineering, ACM, 2002, pp. 187-197.
62 ANSI/IEEE Std, IEEE Standard Glossary for Software Engineering Terminology, 1983, pp. 729-1983.
63 Belady, L. and Lehman, M., "A Model of Large Program Development", IBM Systems J., Vol. 15, No. 3, 1976, p. 225.   DOI
64 Schulmeyer, G. G. and MacKenzie, G. R., Verification and Validation of Modern Software-Intensive Systems, Upper Saddle River, NJ: Prentice Hall PTR, 2000.
65 Ratkin, S. R., Software Verification and Validation: A Practitioner's Guide, Norwood, MA: Artech House, Inc., 1997.
66 Riaz, M., Sulayman, M., and Naqvi, H., "Architectural Decay during Continuous Software Evolution and Impact of 'Design for Change' on Software Architecture", Proceedings of the International Conference on Advanced Software Engineering and its Applications, Springer, 2009, pp. 119-126.
67 Robles, G., Amor, J. J., Gonzalez-Barahona, J. M., and Herraiz, I., "Evolution and Growth in large LIBRE Software Projects", Proceedings of the International Workshop on Principles of Software Evolution, 2005, pp. 165-174.
68 Sneed, H. M., "A Cost Model for Software Maintenance and Evolution", Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM'04), 2004.
69 Stringfellow, C., Amory, C., Potnuri, D., Andrews, A., and Geor, M., "Comparison of Software Architecture Reverse Engineering Methods", Information and Software Technology, Vol. 48, 2006, pp. 484-497.   DOI
70 vanGurp, J. and Bosch, J., "Design Erosion: Problems and Causes", Journal of Systems and Software, Vol. 61, 2002, pp. 105-119.   DOI
71 Vasa, R., Growth and Change Dynamics in Open Source Software Systems, Ph. D. thesis, Swinburne University of Technology, Melbourne, Australia, 2010.
72 Yip, S. W. L., Lam, T., Chan, S. K. M., "A Software Maintenance Survey", Proceedings of the 1st Asia-Pacific Software Engineering Conference, Tokyo, 1994, pp. 70-79.