Software Evolution of Legacy Systems - A Case Study of Soft-migration

Andreas Fürnweger, Martin Auer, Stefan Biffl

Abstract

Software ages. It does so in relation to surrounding software components: as those are updated and modernized, static software becomes evermore outdated relative to them. Such legacy systems are either tried to be kept alive, or they are updated themselves, e.g., by re-factoring or porting—they evolve. Both approaches carry risks as well as maintenance cost profiles. In this paper, we give an overview of software evolution types and drivers; we outline costs and benefits of various evolution approaches; and we present tools and frameworks to facilitate so-called “soft” migration approaches. Finally, we describe a case study of an actual platform migration, along with pitfalls and lessons learned. This paper thus aims to give software practitioners—both resource-allocating managers and choice-weighing engineers—a general framework with which to tackle software evolution and a specific evolution case study in a frequently-encountered Java-based setup.

References

  1. Auer, M., Pölz, J., and Biffl, S. (2009). End-User Development in a Graphical User Interface Setting. In Proc. 11th Int. Conf. on Enterprise Inf. Systems (ICEIS).
  2. Auer, M., Tschurtschenthaler, T., and Biffl, S. (2003). A Flyweight UML Modelling Tool for Software Development in Heterogeneous Environments. In Proc. 29th Conf. on EUROMICRO.
  3. Basili, V., Briand, L., Condon, S., Kim, Y.-M., Melo, W. L., and Valett, J. D. (1996). Understanding and Predicting the Process of Software Maintenance Releases. In Proc. 18th Int. Conf. on Software Engineering (ICSE).
  4. Bennett, K. H. and Rajlich, V. T. (2000). Software Maintenance and Evolution: A Roadmap. In Proc. Conf. on The Future of Software Engineering (ICSE).
  5. Benomar, O., Abdeen, H., Sahraoui, H., Poulin, P., and Saied, M. A. (2015). Detection of Software Evolution Phases Based on Development Activities. In Proc. 23rd IEEE Int. Conf. on Program Comprehension (ICPC).
  6. Brodie, M. L. and Stonebraker, M. (1995). Migrating Legacy Systems: Gateways, Interfaces, and the Incremental Approach. Morgan Kaufmann.
  7. Brooks Jr., F. P. (1995). The Mythical Man-Month. Addison-Wesley.
  8. Businge, J., Serebrenik, A., Brand, M. V. D., and van den Brand, M. (2010). An Empirical Study of the Evolution of Eclipse Third-party Plug-ins. In Proc. Joint ERCIM WS on Software Evolution (EVOL) and Int. WS on Principles of Software Evolution (IWPSE).
  9. Chaikalis, T. and Chatzigeorgiou, A. (2015). Forecasting Java Software Evolution Trends Employing Network Models. IEEE Transactions on Software Engineering, 41(6):582-602.
  10. Chikofsky, E. J. and Cross II, J. H. (1990). Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software, 7(1):13-17.
  11. Coleman, D., Ash, D., Lowther, B., and Oman, P. (1994). Using Metrics to Evaluate Software System Maintainability. IEEE Computer, 27(8):44-49.
  12. Demeyer, S., Ducasse, S., and Nierstrasz, O. (2002). Object Oriented Reengineering Patterns. Morgan Kaufmann.
  13. Feathers, M. (2004). Working Effectively with Legacy Code. Prentice Hall.
  14. Fowler, M. and Beck, K. (1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley.
  15. Gottschalk, M., Josefiok, M., Jelschen, J., and Winter, A. (2012). Removing Energy Code Smells with Reengineering Services. In Beitragsband der 42. Jahrestagung der Gesellschaft für Informatik e.V. (GI).
  16. Harrison, W. and Cook, C. (1990). Insights on Improving the Maintenance Process Through Software Measurement. In Proc. Int. Conf. on Software Maintenance (ICSME).
  17. Herraiz, I., Rodriguez, D., Robles, G., and GonzalezBarahona, J. M. (2013). The Evolution of the Laws of Software Evolution: A Discussion Based on a Systematic Literature Review. ACM Computing Surveys, 46(2):1-28.
  18. Hunt, A. and Thomas, D. (1999). The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley.
  19. Johari, K. and Kaur, A. (2011). Effect of Software Evolution on Software Metrics. ACM SIGSOFT Software Engineering Notes, 36(5):1-8.
  20. Kim, M., Cai, D., and Kim, S. (2011). An Empirical Investigation into the Role of API-Level Refactorings during Software Evolution. In Proc. 33rd Int. Conf. on Software Engineering (ICSE).
  21. Lehman, M. M. (1980). Programs, Life Cycles, and Laws of Software Evolution. In Proc. IEEE.
  22. Lehman, M. M., Ramil, J. F., and Kahen, G. (2000). Evolution as a Noun and Evolution as a Verb. In Proc. WS on Software and Organisation Co-evolution (SOCE).
  23. Lehman, M. M., Ramil, J. F., Wernick, P. D., Perry, D. E., and Turski, W. M. (1997). Metrics and Laws of Software Evolution - The Nineties View. In Proc. 4th Int. Symposium on Software Metrics (METRICS).
  24. Lientz, B. P. and Swanson, E. B. (1980). Software Maintenance Management. Addison-Wesley.
  25. Mens, T. and Demeyer, S. (2008). Software Evolution. Springer.
  26. Monden, A., Sato, S.-i., Matsumoto, K.-i., and Inoue, K. (2000). Modeling and Analysis of Software Aging Process. In Product Focused Software Process Improvement SE - 15, volume 1840 of Lecture Notes in Computer Science, pages 140-153. Springer.
  27. Parnas, D. L. (1994). Software Aging. In Proc. 16th Int. Conf. on Software Engineering (ICSE).
  28. Rashid, A., Wang, W. Y. C., and Dorner, D. (2009). Gauging the Differences between Expectation and Systems Support: the Managerial Approach of Adaptive and Perfective Software Maintenance. In Proc. 4th Int. Conf. on Cooperation and Promotion of Inf. Resources in Science and Techn. (COINFO).
  29. Ratzinger, J., Sigmund, T., Vorburger, P., and Gall, H. (2007). Mining Software Evolution to Predict Refactoring. In Proc. 1st Int. Symposium on Empirical Software Engineering and Measurement (ESEM).
  30. Riaz, M., Mendes, E., and Tempero, E. (2009). A Systematic Review of Software Maintainability Prediction and Metrics. In Proc. 3rd Int. Symp. on Empirical Software Engineering and Measurement (ESEM).
  31. Schneidewind, N. F. and Ebert, C. (1998). Preserve or Redesign Legacy Systems. IEEE Software, 15(4):14-17.
  32. Sjøberg, D. I. K., Anda, B., and Mockus, A. (2012). Questioning Software Maintenance Metrics: A Comparative Case Study. In Proc. 6th Int. Symposium on Empirical Software Engineering and Measurement (ESEM).
  33. Sneed, H. M. (1995). Planning the Reengineering of Legacy Systems. IEEE Software, 12(1):24-34.
  34. Zhang, J., Sagar, S., and Shihab, E. (2013). The Evolution of Mobile Apps: An Exploratory Study. In Proc. Int. WS on Software Development Lifecycle for Mobile (DeMobile).
Download


Paper Citation


in Harvard Style

Fürnweger A., Auer M. and Biffl S. (2016). Software Evolution of Legacy Systems - A Case Study of Soft-migration . In Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-758-187-8, pages 413-424. DOI: 10.5220/0005771104130424


in Bibtex Style

@conference{iceis16,
author={Andreas Fürnweger and Martin Auer and Stefan Biffl},
title={Software Evolution of Legacy Systems - A Case Study of Soft-migration},
booktitle={Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS,},
year={2016},
pages={413-424},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005771104130424},
isbn={978-989-758-187-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 18th International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - Software Evolution of Legacy Systems - A Case Study of Soft-migration
SN - 978-989-758-187-8
AU - Fürnweger A.
AU - Auer M.
AU - Biffl S.
PY - 2016
SP - 413
EP - 424
DO - 10.5220/0005771104130424