Table of Contents
Fetching ...

Contemporary Software Modernization: Perspectives and Challenges to Deal with Legacy Systems

Wesley K. G. Assunção, Luciano Marchezan, Alexander Egyed, Rudolf Ramler

TL;DR

Legacy systems incur rising maintenance costs, security risks, and misalignment with evolving business and technology landscapes. The authors adopt a multi-perspective viewpoint to modernize within the context of contemporary software development and present a four-phase modernization workflow and a ten-challenge research agenda. They formalize six perspectives, introduce a contemporaneous knowledge gap (C1) and provide recommendations for decision support (C2), hybrid environments (C3), and non-intrusive techniques (C8), plus a workflow addressing (C4–C7, C9–C10). The framework aims to guide researchers and practitioners in balancing technical, organizational, and operational factors and to align modernization with broader digital transformation efforts.

Abstract

Software modernization is an inherent activity of software engineering, as technology advances and systems inevitably become outdated. The term "software modernization" emerged as a research topic in the early 2000s, with a differentiation from traditional software evolution. Studies on this topic became popular due to new programming paradigms, technologies, and architectural styles. Given the pervasive nature of software today, modernizing legacy systems is paramount to provide users with competitive and innovative products and services. Despite the large amount of work available in the literature, there are significant limitations: (i) proposed approaches are strictly specific to one scenario or technology, lacking flexibility; (ii) most of the proposed approaches are not aligned with the current modern software development scenario; and (iii) due to a myriad of proposed modernization approaches, practitioners may be misguided on how to modernize legacies. In this work, our goal is to call attention to the need for advances in research and practices toward a well-defined software modernization domain. The focus is on enabling organizations to preserve the knowledge represented in legacy systems while taking advantages of disruptive and emerging technologies. Based on this goal, we put the different perspectives of software modernization in the context of contemporary software development. We also present a research agenda with 10 challenges to motivate new studies.

Contemporary Software Modernization: Perspectives and Challenges to Deal with Legacy Systems

TL;DR

Legacy systems incur rising maintenance costs, security risks, and misalignment with evolving business and technology landscapes. The authors adopt a multi-perspective viewpoint to modernize within the context of contemporary software development and present a four-phase modernization workflow and a ten-challenge research agenda. They formalize six perspectives, introduce a contemporaneous knowledge gap (C1) and provide recommendations for decision support (C2), hybrid environments (C3), and non-intrusive techniques (C8), plus a workflow addressing (C4–C7, C9–C10). The framework aims to guide researchers and practitioners in balancing technical, organizational, and operational factors and to align modernization with broader digital transformation efforts.

Abstract

Software modernization is an inherent activity of software engineering, as technology advances and systems inevitably become outdated. The term "software modernization" emerged as a research topic in the early 2000s, with a differentiation from traditional software evolution. Studies on this topic became popular due to new programming paradigms, technologies, and architectural styles. Given the pervasive nature of software today, modernizing legacy systems is paramount to provide users with competitive and innovative products and services. Despite the large amount of work available in the literature, there are significant limitations: (i) proposed approaches are strictly specific to one scenario or technology, lacking flexibility; (ii) most of the proposed approaches are not aligned with the current modern software development scenario; and (iii) due to a myriad of proposed modernization approaches, practitioners may be misguided on how to modernize legacies. In this work, our goal is to call attention to the need for advances in research and practices toward a well-defined software modernization domain. The focus is on enabling organizations to preserve the knowledge represented in legacy systems while taking advantages of disruptive and emerging technologies. Based on this goal, we put the different perspectives of software modernization in the context of contemporary software development. We also present a research agenda with 10 challenges to motivate new studies.
Paper Structure (5 sections, 3 figures)

This paper contains 5 sections, 3 figures.

Figures (3)

  • Figure 1: Extended quadrant of the portfolio analysis for the contemporary software modernization, adapted from Seacord2001.
  • Figure 2: Different perspectives of software modernization in the context of contemporary software development.
  • Figure 3: Preliminary multi-perspective modernization workflow in the context of contemporary software development.