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

Wesley K. G. Assunção  0000-0002-7557-9091 North Carolina State
UniversityRaleighUSA ,  Luciano Marchezan  0000-0003-3096-580X ,  Alexander
Egyed  0000-0003-3128-5427 Johannes Kepler UniversityLinzAustria and  Rudolf
Ramler  Software Competence Center Hagenberg GmbH (SCCH)HagenbergAustria

(2024)

###### 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.

Software migration, re-engineering, research agenda

††copyright: none††journalyear: 2024††doi: XXXXXXX.XXXXXXX††conference:
International Workshop on Software Engineering in 2030; July 2024; Porto de
Galinhas, Brazil††ccs: Software and its engineering Software evolution††ccs:
Computer systems organization Cloud computing††ccs: Software and its
engineering Software architectures

##  1\. Introduction

Throughout the life of a software system, its architecture decays, its
underlying technologies become obsolete, the user requirements change, or the
company’s business models evolve—ultimately, causing the software to morph
into what we call legacy systems (Bennett, 1995). The large majority of
software currently in use are long-lived systems that represent many years of
competitive knowledge and business value (Khadka et al., 2014). However, due
to extensive maintenance and obsolete technology, legacy systems are costly to
maintain, more exposed to cybersecurity risks, less effective in meeting their
intended purpose, and push up costs of digital transformation (GAO, 2019;
Morris, 2021; Beach, 2019). For instance, the US government spent over $90
billion in fiscal year 2019 on IT, from which about 80% was used to operate
and maintain legacy systems (GAO, 2019). Also, the UK government spends £4.7
billion a year on IT across all departments, and £2.3 billion goes on patching
up systems, some of which date back 30 years or more (Morris, 2021).

To remain competitive, companies must modernize their legacy systems,
preserving the hard-earned knowledge acquired through many years of system
development (Seacord et al., 2003; Khadka et al., 2014; Wolfart et al., 2021).
According to Seacord et al. (Seacord et al., 2003) “Software modernization
attempts to evolve a legacy system, or elements of the system, when
conventionally evolutionary practices, such maintenance and enhancement, can
no longer achieve the desired system properties.” The process of modernizing a
legacy system leads to benefits such as easing engineering activities,
satisfying user needs, achieving new business goals, or reducing costs
(Seacord et al., 2003). Furthermore, modernization is a mean to leverage the
digital transformation (Beach, 2019), as it enables the use of
emerging/disruptive technologies such as artificial intelligence, high-
performance computing, cloud computing, IoT, robotics, and big data (Leon and
Horita, 2021).

In the literature, we can find different modernization strategies (Leon and
Horita, 2021; Strobl et al., 2020). For example, restructuring systems using
components, adoption of aspect-oriented development, re-engineering of system
variants into software product lines, migration to microservices, and
supporting for new hardware, e.g., multi-core/GPUs devices. Even the software
development process has been modernized, e.g., agile methods (Martin, 2003)
and DevOps (Cherinka et al., 2022). Additionally, modernization has different
driving forces and impacts related to organizational, operational, and
technological aspects (Wolfart et al., 2021). For instance, the modernization
can focus on independence for agile teams, optimize the deployment, ease the
inclusion of innovation, facilitate scalability, or explore new market
segments (Wolfart et al., 2021; Strobl et al., 2020).

Despite the existing studies on the topic of modernization, covering different
strategies and aspects, there are still significant limitations and gaps in
the state of the art and the practice: (i) existing approaches are too
specific and typically imply to individual technologies or specific
modernization scenarios only, without flexibility. This limits their
usefulness, reusability, or adaptation for different technologies or
scenarios; (ii) proposed approaches typically are not aligned with each
other—often providing fragments of modernization and at times even becoming
outdated, as there is no contemporaneous body of knowledge on the fundamentals
of software modernization; and (iii) the existence of several different
modernization strategies, on one hand, offers a wide range of potential
solutions, however, on the other hand, such diversity of strategies may
misguide practitioners, providers, and researchers when looking for solutions
for specific situations.

The studies that try to organize the existing pieces of work on software
modernization have several limitations. They only present an overview of the
state of the art (Leon and Horita, 2021); are based on few case studies or a
subset of existing literature (Strobl et al., 2020; M’baya et al., 2017;
Iosif-Lazar et al., 2015); are outdated regarding current emerging/disruptive
technologies (Iosif-Lazar et al., 2015; Fanelli et al., 2016; Khadka et al.,
2015, 2014); partially cover the modernization life cycle, and rarely take
into account organizational, operational, and technological aspects (Wolfart
et al., 2021; Leon and Horita, 2021). As pieces of work span across many years
and focus on modernizing for different purposes, there is a need for
discussing modernization in the context of the contemporaneous software
development.

In this work, our goal is to call attention to the need for advances in
research and practices towards software modernization in the light of
contemporary software development. The focus is to preserve knowledge
represented in legacy systems while employing disruptive and emerging
technologies to the benefit of users, companies, and society. Based on that,
we contextualize the different perspectives of software modernization and
introduce a research agenda with 10 challenges to be taken into account. Our
contribution is to motivate the discussion on software modernization, present
open challenges, and alert companies about risks in adopting solutions based
on popularity or hypes.

##  2\. Background and Related Work

Seacord et al. (Seacord et al., 2003) presented software modernization as a
remedy to face the legacy system crisis in the early 2000s. They discussed how
to keep or add business value through modern technologies, reducing
operational costs, and dealing with technical aspects, e.g., allowing better
reuse and easier maintenance (Seacord et al., 2003). However, their discussion
is not totally aligned with current technological and operational advances of
contemporary software engineering.

To decide for which modernization strategy to adopt, companies should perform
a portfolio analysis. Figure 1 presents the portfolio analysis quadrant
extended from Seacord et al. (Seacord et al., 2003) to bring forward a
contemporaneous perspective of software modernization. In addition to the
technical quality and business value dimensions, we introduce innovation as
additional dimension that is achieved by new disruptive and emerging
technologies—driving forces for the modernization. The five quadrants
presented in Figure 1 are:

  * •

1 Replace: legacy systems that have low business value and low technical
quality, i.e., accumulated technical debt, should be replaced by new systems,
using generic solutions or off-the-shelf systems, instead of undergoing a re-
engineering or migration process.

  * •

2 Maintain: systems with high technical quality and low business value should
not require modernization effort, but traditional maintenance activities
should be used, just to keep them operating and meeting customers need.

  * •

3 Evolve: high-quality legacies with high business value should be actively
evolved using traditional evolutionary development practices for introducing
new features, new products, or even serving as third part for other systems.

  * •

4 Re-engineer: systems with high business value and low technical quality
should be re-engineered in order to preserve business value, i.e., external
quality, and manage the technical debt, i.e., internal quality. This type of
modernization can be transparent to the end user.

  * •

5 Migrate: when the system has high business value and a company decides to
drive innovation with emerging or disruptive technologies, independently of
the system’s technical quality, a migration to the desired new technologies
should take place. This is, for example, the case when companies foster a
digitalization initiative.

Figure 1. Extended quadrant of the portfolio analysis for the contemporary
software modernization, adapted from (Seacord et al., 2001).

In the literature, we can find several modernization strategies to retain
business value of legacy systems (Leon and Horita, 2021; Strobl et al., 2020).
For example, restructuring systems using components (Chiang and Bayrak, 2006;
Ekanem and Woherem, 2016; Khalilipour et al., 2021); adoption of aspect-
oriented development (AlSobeh and Magableh, 2018; Rizvi et al., 2010; Goel,
2015); re-engineering of system variants into software product lines (Assunção
et al., 2017; Åkesson et al., 2019; Krüger et al., 2020; Assunção et al.,
2020); migration to microservices (Wolfart et al., 2021; Carvalho et al.,
2019; Di Francesco et al., 2018; Wang et al., 2021; Taibi et al., 2017; Knoche
and Hasselbring, 2018; Buchgeher et al., 2021); supporting new devices or
pieces of hardware, e.g., from single-core to multi-core machines (Salman et
al., 2021; R and Chikkamannur, 2016; Norton et al., 2008); classical
information systems to quantum computing (Pérez-Castillo et al., 2021; Zhao et
al., 2024); and leveraging the use of AI/ML/Foundation Models (Agarwal et al.,
2024), a current trend. Even the software development process has been
modernized, e.g., agile methods (Martin, 2003) and DevOps (Bommadevara et al.,
2018; Cherinka et al., 2022). Also, modernization has different driving forces
and impacts related to organizational, operational, and technological aspects.
The modernization can focus on independence of teams, optimizing deployment,
adding innovation, facilitating scalability, or exploring new market segment
(Wolfart et al., 2021; Strobl et al., 2020).

Despite existing literature, the work on software modernization has several
limitations: studies only present an overview of the state of the art (Leon
and Horita, 2021); are based on few case studies or a subset of existing
literature (Strobl et al., 2020; M’baya et al., 2017; Iosif-Lazar et al.,
2015); are outdated regarding current emerging/disruptive technologies (Iosif-
Lazar et al., 2015; Fanelli et al., 2016; Khadka et al., 2015, 2014);
partially cover the modernization life cycle, and rarely take into account
organizational, operational, and technological aspects (Wolfart et al., 2021;
Leon and Horita, 2021). Furthermore, these studies are limited to exploring
contemporary needs, e.g., digital transformation (Leon and Horita, 2021).
Finally, software modernization must be seen as a multi-perspective activity,
which is discussed next.

##  3\. Multi-perspective and Challenges

In this paper, we propose a multi-perspective of software modernization in the
context of contemporary software development. Figure 2 presents six
perspectives that affect the process of modernizing a legacy system. These
perspectives range from understanding the legacy system, to conducting the
transition from the legacy (or part of) to the modern system. Based on this
multi-perspective, together with known needs, trends, and recent pieces of
work in the topic of software modernization, we present a research agenda
structured as a list of challenges (C), described in what follows.

C1: Lack of a comprehensive and contemporaneous body of knowledge on software
modernization. The pieces of work that try to organize the existing body of
knowledge on software modernization have several limitations, as discussed in
Section 2. Based on that, there is a need for a comprehensive and
contemporaneous body of knowledge about modernization strategies. We do not
have to reinvent the wheel but organize existing knowledge in the light of the
perspectives presented in Figure 2 and contemporary software development
approaches. Thus, we propose that researchers should gather and classify a
body of knowledge on software modernization based on both research and
practice. For example, a first step in that direction could be the knowledge
base of architecture decision records collected from open source projects in
(Buchgeher et al., 2023).

C2: Recommend the right approach based on the modernization goal. In Figure 2,
we present examples of goals that can serve as driving forces for
modernization. Based on specific goals, some approaches are more appropriate
than others. However, this recommendation must be an informed decision. The
challenge here is to provide guidelines to support practitioners and companies
on how to choose the proper approach according to their goals, avoiding
deciding only based on technology “hypes”. For example, microservice-based
architectures have been advertised as a solution for technology flexibility.
However, a recent study has shown that this is not the most common driving
forces to migrate to microservices (Wolfart et al., 2021). Choosing the wrong
approach can lead to inefficiency and frustration in modernization. Hence,
systems transformed into microservice were migrated back to monolithic
applications (Mendonça et al., 2021). Based on such experiences, future
research should compile a body of knowledge (C1) to derive guidelines for
recommending and adopting customizable or domain-specific modernization
approaches.

C3: Establish hybrid environments to allow the legacy and modern parts of a
system operating together. In Figure 2, we can see the three types of
transition: (i) big bang, a.k.a. cold turkey (Comella-Dorda et al., 2000),
which is the replacement of the legacy system with the modern one at once;
(ii) incremental modernization, following a strangler pattern (Fritzsch et
al., 2019), in which parts of the legacy systems are incrementally replaced by
modern parts (Seacord et al., 2003; Wolfart et al., 2021); and (iii) the
coexistence, in which legacy and modern parts operate together in one system
(Robertson, 1997). The big bang and incremental transitions are explored in
literature, however, little is discussed on how to establish a hybrid
environment to allow the development and coexistence of legacy and modern
system. In this context, we envision research to investigate how to enable
hybrid environments, focusing on the coexistence of legacy and modern. This is
related to C5, as the decision made with regard to what to do with the legacy
system.

C4: Consider technical, operational, and organizational aspects during the
modernization. The great majority of studies on software modernization
discusses the technical aspects of the modernization (Di Francesco et al.,
2018; Assunção et al., 2017). However, modernization has different driving
forces and impacts related to organizational, operational, and technological
aspects (Wolfart et al., 2021; Strobl et al., 2020; Seacord et al., 2001;
Seacord et al., 2003). Software engineering involves technologies, people, and
processes to be aligned with business strategies (Fitzgerald and Stol, 2017).
The challenge here is to propose approaches that deal with all these aspects.
While technical aspects must always be considered, we argue that future work
has to further explore organizational and operational aspects alongside the
technical ones, balancing their priority and cost-benefit.

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.

C5: Decide among replace, maintain, evolve, re-engineer, or migrate. As
presented in Figure 1, there are different forms of modernization. Also, in
Figure 2 we see that the legacy systems can present different problem related
to its technical quality. Based on that, we can observe that choosing how to
modernize a legacy system is a multi-criteria decision. Thus, companies need
solutions to deal with this challenge. For that, we expect future work to
propose recommendation approaches for decision-making support in terms of
modernization possibilities, also taking into account organizational,
operational, and technological aspects (C4).

C6: Support digital transformation. Digital transformation is currently a
trend and is receiving great attention around the world. For example, the
European Union has the Digital Europe Programme,111https://digital-
strategy.ec.europa.eu/en/activities/digital-programme Australia has the
Digital Economy Strategy,222https://digitaleconomy.pmc.gov.au/ in North
America there are the Canada Digital Adoption
Program333https://www.ic.gc.ca/eic/site/152.nsf/eng/home and the Digital
Strategy444https://www.state.gov/digital-government-strategy/ of the United
States, and in Asia 11 countries have joined forces in the Connecting
Capabilities.555http://connectedfuture.economist.com/connecting-capabilities/
Despite expected benefits, the digital transformation is hampered by legacy
systems (Beach, 2019). In this context, modernization is a means to leverage
the digital transformation (Leon and Horita, 2021; Beach, 2019). However,
there are no guidelines on how to perform software modernization to leverage
digital transformation. Yet, the exiting few pieces of work on this topic only
provide a superficial overview. In this direction, we envision future work
enriching the legacy system with modern emerging and disruptive technologies
to create new services and operations to companies’ workforce and users.

C7: Prepare the legacy for the modernization. When the legacy system has a
high business value, it is a candidate for modernization by re-engineering or
migration, independently of its internal quality (see Figure 1). However,
understanding and modernizing a legacy system with poor internal quality is a
complex task. For example, systems usually evolve in space, adding new
features, and time, with features being revised (Michelon et al., 2021), which
make its comprehension difficult. For such a situation, we believe that using
refactoring strategies can be a good way to improve the legacy internal
quality to face the modernization. However, the literature is scarce on how
this “pre-modernization” activity should take place. This relates to the
possibility regarding hybrid environments (C3) as during the preparation for
the evolution, the old legacy and the new migrated system may have to coexist.
A research direction is to leverage Foundation Models in tasks related to code
understanding (Nam et al., 2024) and refactoring (AlOmar et al., 2024) during
the modernization.

C8: Propose non-intrusive approaches and techniques. Practitioners usually
have preferences for using some technologies, tools, and workflows. Based on
that, researchers should propose modernization approaches and tools that take
into account these preferences. Non-intrusive approaches and techniques are
easier to transfer to practice (Costa et al., 2016). Thus, we envisage that in
addition to propose new solutions to the modernization challenges (e.g., C3,
C5, C6 and C7), researches should also think of lightweight ways of
integrating such solution in the technologies, tools, and workflows already in
use by practitioners. This challenge is related to C4, as the need for non-
intrusive approaches reflects the need to consider operational and
organizational aspects of companies.

C9: Train workforce with skills for dealing with modernization. Figure 2
presents the different perspectives of the software modernization. These
several perspectives must be considered to train the workforce in charge of
operationalizing the modernization process (Prokofyev et al., 2019). Thus, a
challenge is to training the workforce with expertise to deal with the
complexity of software modernization (Pérez-Castillo et al., 2021). To address
this challenges, educators can benefit from contributions to C1, in which a
body of knowledge can serve as the basis for designing new courses in
academia. Training also relates to C4, as it directly affects operational and
organizational aspects that are important for companies, such as empowering
employees.

C10: Modernization for small and medium-sized enterprises (SMEs). In the
literature, we observe that some software engineering activities should be
conducted differently in the context of SMEs (Sánchez-Gordón et al., 2016; da
Silva et al., 2014). This might also be the case for software modernization
(Althani et al., 2016). Based on that, research needs to be conducted to deal
with challenges faced by SMEs when modernizing their legacy systems to grow
and be more competitive. This should be considered by researchers when
creating a body of knowledge for software modernization. The modernization in
context of SMEs also relate directly to C4, as the organizational aspects of
SMEs are different from big enterprises. Consequently, it may have a
significant impact on the decision to modernize the legacy or not (C5).

##  4\. The Modernization Workflow

Based on recent systematic mapping studies (Wolfart et al., 2021; Assunção et
al., 2017), we defined a preliminary multi-perspective modernization workflow,
which is presented in Figure 3. This process is composed of four phases,
namely initiation, planning, execution, and transition. Additionally, these
phases have six activities. The activities are sequential, but it is possible
to return to previous activities, as shown by the arrows. Below each activity,
we describe some tasks, which are related to the modernization quadrant
(Figure 1) and the multi perspectives (Figure 2). This workflow is an initial
proposal for establishing a general process to be enriched with specific
information or additional activities to deal with the challenges presented in
Section 3. For instance, if a process is desired to SMEs (C10), constraints
related to limited resources should be considered.

##  5\. Conclusion

Software modernization is a fundamental activity of software engineering,
since inevitably requirements change, and technology advances, and new
business models emerge. Despite that, research on this topic has not been
following the modern software development, and legacy systems still remain a
problem. To fill this gap and to sparkle the research on this topic, we
present a discussion of software modernization in the light of contemporary
software modernization. We revisited some pieces of work and introduce the
multi-perspective of contemporary software modernization. Based on that, in
this work, we discussed 10 challenges to motivate and guide to new studies.
These challenges can be employed as a research agenda for future work on this
topic.

###### Acknowledgements.

The research reported in this paper has been funded by BMK, BMDW, and the
State of Upper Austria in the frame of SCCH, part of the COMET Programme
managed by FFG as well as the Austrian Science Fund (FWF, P31989-N31).

## References

  * (1)
  * Agarwal et al. (2024) Shivali Agarwal, Sridhar Chimalakonda, Saravanan Krishnan, Vini Kanvar, and Samveg Shah. 2024\.  Tutorial Report on Legacy Software Modernization: A Journey From Non-AI to Generative AI Approaches. In _17th Innovations in Software Engineering Conference (ISEC)_. ACM, Article 19, 3 pages.  https://doi.org/10.1145/3641399.3641434
  * AlOmar et al. (2024) Eman Abdullah AlOmar, Anushkrishna Venkatakrishnan, Mohamed Wiem Mkaouer, Christian D Newman, and Ali Ouni. 2024.  How to Refactor this Code? An Exploratory Study on Developer-ChatGPT Refactoring Conversations.  _arXiv preprint arXiv:2402.06013_ (2024).
  * AlSobeh and Magableh (2018) Anas MR AlSobeh and Aws A Magableh. 2018.  An Aspect-Oriented With BIP Components for Better Crosscutting Concerns Modernization in IOT Applications. In _CS & IT Conference Proceedings_, Vol. 8. CS & IT Conference Proceedings.
  * Althani et al. (2016) B. Althani, S. Khaddaj, and B. Makoond. 2016.  A Quality Assured Framework for Cloud Adaptation and Modernization of Enterprise Applications. In _IEEE Intl Conference on Computational Science and Engineering (CSE) and IEEE Intl Conference on Embedded and Ubiquitous Computing (EUC) and 15th Intl Symposium on Distributed Computing and Applications for Business Engineering (DCABES)_. 634–637.  https://doi.org/10.1109/CSE-EUC-DCABES.2016.251
  * Assunção et al. (2017) Wesley K. G. Assunção, Roberto E. Lopez-Herrejon, Lukas Linsbauer, Silvia R. Vergilio, and Alexander Egyed. 2017.  Reengineering legacy applications into software product lines: a systematic mapping.  _Empirical Software Engineering_ 22, 6 (feb 2017), 2972–3016.  https://doi.org/10.1007/s10664-017-9499-z
  * Assunção et al. (2020) Wesley K. G. Assunção, Jacob Krüger, and Willian D. F. Mendonça. 2020.  Variability Management Meets Microservices: Six Challenges of Re-Engineering Microservice-Based Webshops. In _24th ACM Conference on Systems and Software Product Line: Volume A - Volume A_ (Montreal, Quebec, Canada) _(SPLC ’20)_. Association for Computing Machinery, New York, NY, USA, Article 22, 6 pages.  https://doi.org/10.1145/3382025.3414942
  * Beach (2019) David Beach. 2019\.  _Legacy systems push up costs of digital transformation_.  https://www.theglobaltreasurer.com/2018/09/27/legacy-systems-push-up-costs-of-digital-transformation/.
  * Bennett (1995) K. Bennett. 1995\.  Legacy systems: coping with success.  _IEEE Software_ 12, 1 (jan 1995), 19–23.  https://doi.org/10.1109/52.363157
  * Bommadevara et al. (2018) Nagendra Bommadevara, Andrea Del Miglio, and Steve Jansen. 2018\.  Cloud adoption to accelerate IT modernization.  _Digitial McKinsey: Insights_ (2018).
  * Buchgeher et al. (2021) Georg Buchgeher, Rudolf Ramler, Heinz Stummer, and Hannes Kaufmann. 2021.  Adopting Microservices for Industrial Control Systems: A Five Step Migration Path. In _2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)_. IEEE, 1–8.
  * Buchgeher et al. (2023) Georg Buchgeher, Stefan Schöberl, Verena Geist, Bernhard Dorninger, Philipp Haindl, and Rainer Weinreich. 2023.  Using Architecture Decision Records in Open Source Projects–An MSR Study on GitHub.  _IEEE Access_ (2023).
  * Carvalho et al. (2019) Luiz Carvalho, Alessandro Garcia, Wesley K. G. Assunção, Rafael de Mello, and Maria Julia de Lima. 2019.  Analysis of the Criteria Adopted in Industry to Extract Microservices. In _7th International Workshop on Conducting Empirical Studies in Industry and 6th International Workshop on Software Engineering Research and Industrial Practice_. IEEE, 22–29.
  * Cherinka et al. (2022) R. Cherinka, S. Foote, J. Burgo, and J. Prezzama. 2022\.  The Impact of Agile Methods and “DevOps” on Day 2+ Operations for Large Enterprises. In _Intelligent Computing_ , Kohei Arai (Ed.). Springer, Cham, 1068–1081.
  * Chiang and Bayrak (2006) Chia-Chu Chiang and Coskun Bayrak. 2006.  Legacy Software Modernization. In _IEEE International Conference on Systems, Man and Cybernetics_ , Vol. 2. 1304–1309.  https://doi.org/10.1109/ICSMC.2006.384895
  * Comella-Dorda et al. (2000) Comella-Dorda, Wallnau, Seacord, and Robert. 2000\.  A survey of black-box modernization approaches for information systems. In _International Conference on Software Maintenance_. 173–183.  https://doi.org/10.1109/ICSM.2000.883039
  * Costa et al. (2016) Caio H. Costa, Paulo H. M. Maia, Nabor C. Mendonça, and Lincoln S. Rocha. 2016.  Supporting Partial Database Migration to the Cloud Using Non-intrusive Software Adaptations: An Experience Report. In _Advances in Service-Oriented and Cloud Computing_. Springer, Cham, 238–248.
  * da Silva et al. (2014) Ivonei Freitas da Silva, Paulo Anselmo da Mota Silveira Neto, Pádraig O’Leary, Eduardo Santana de Almeida, and Silvio Romero de Lemos Meira. 2014\.  Software product line scoping and requirements engineering in a small and medium-sized enterprise: An industrial case study.  _Journal of Systems and Software_ 88 (2014), 189–206.  https://doi.org/10.1016/j.jss.2013.10.040
  * Di Francesco et al. (2018) Paolo Di Francesco, Patricia Lago, and Ivano Malavolta. 2018\.  Migrating towards microservice architectures: an industrial survey. In _International conference on software architecture_. IEEE, 29–2909.
  * Ekanem and Woherem (2016) Bassey Asuquo Ekanem and Evans Woherem. 2016.  Dealing with components reusability issues as cutting-edge applications turn legacy. In _SAI Computing Conference (SAI)_. IEEE, 1190–1198.  https://doi.org/10.1109/SAI.2016.7556129
  * Fanelli et al. (2016) Timothy C Fanelli, Scott C Simons, and Sean Banerjee. 2016\.  A systematic framework for modernizing legacy application systems. In _23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)_ , Vol. 1. IEEE, 678–682.
  * Fitzgerald and Stol (2017) Brian Fitzgerald and Klaas-Jan Stol. 2017.  Continuous software engineering: A roadmap and agenda.  _Journal of Systems and Software_ 123 (2017), 176–189.  https://doi.org/10.1016/j.jss.2015.06.063
  * Fritzsch et al. (2019) Jonas Fritzsch, Justus Bogner, Stefan Wagner, and Alfred Zimmermann. 2019.  Microservices Migration in Industry: Intentions, Strategies, and Challenges. In _International Conference on Software Maintenance and Evolution_. IEEE, 481–490.
  * GAO (2019) GAO. 2019.  _Information Technology: Agencies Need to Develop Modernization Plans for Critical Legacy Systems_.  https://www.gao.gov/products/gao-19-471.
  * Goel (2015) Noopur Goel. 2015\.  Legacy Systems towards Aspect-Oriented Systems.  In _Achieving Enterprise Agility through Innovative Software Development_. IGI Global, 262–286.
  * Iosif-Lazar et al. (2015) Alexandru F Iosif-Lazar, Ahmad Salim Al-Sibahi, Aleksandar S Dimovski, Juha Erik Savolainen, Krzysztof Sierszecki, and Andrzej Wasowski. 2015\.  Experiences from designing and validating a software modernization transformation (E). In _30th IEEE/ACM International Conference on Automated Software Engineering_. IEEE, 597–607.
  * Khadka et al. (2014) Ravi Khadka, Belfrit V Batlajery, Amir M Saeidi, Slinger Jansen, and Jurriaan Hage. 2014\.  How do professionals perceive legacy systems and software modernization?. In _36th International Conference on Software Engineering_. 36–47.
  * Khadka et al. (2015) Ravi Khadka, Prajan Shrestha, Bart Klein, Amir Saeidi, Jurriaan Hage, Slinger Jansen, Edwin van Dis, and Magiel Bruntink. 2015\.  Does software modernization deliver what it aimed for? A post modernization analysis of five software modernization case studies. In _International Conference on Software Maintenance and Evolution (ICSME)_. IEEE, 477–486.
  * Khalilipour et al. (2021) Alireza Khalilipour, Moharram Challenger, Mehmet Onat, Hale Gezgen, and Geylani Kardas. 2021\.  Refactoring Legacy Software for Layer Separation.  _International Journal of Software Engineering and Knowledge Engineering_ 31, 02 (2021), 217–247.
  * Knoche and Hasselbring (2018) Holger Knoche and Wilhelm Hasselbring. 2018.  Using Microservices for Legacy Software Modernization.  _IEEE Software_ 35, 3 (2018), 44–49.  https://doi.org/10.1109/MS.2018.2141035
  * Krüger et al. (2020) Jacob Krüger, Wardah Mahmood, and Thorsten Berger. 2020\.  Promote-Pl: A Round-Trip Engineering Process Model for Adopting and Evolving Product Lines. In _24th ACM Conference on Systems and Software Product Line (SPLC)_. ACM, Article 2, 12 pages.  https://doi.org/10.1145/3382025.3414970
  * Leon and Horita (2021) Pablo Luiz Leon and Flávio Eduardo Aoki Horita. 2021\.  On the modernization of systems for supporting digital transformation: A research agenda. In _XVII Brazilian Symposium on Information Systems_. 1–8.
  * Martin (2003) Robert Cecil Martin. 2003\.  _Agile software development: principles, patterns, and practices_.  Prentice Hall PTR.
  * M’baya et al. (2017) Abir M’baya, Jannik Laval, and Nejib Moalla. 2017\.  An assessment conceptual framework for the modernization of legacy systems. In _11th International Conference on Software, Knowledge, Information Management and Applications_. IEEE, 1–11.
  * Mendonça et al. (2021) Nabor C. Mendonça, Craig Box, Costin Manolache, and Louis Ryan. 2021.  The Monolith Strikes Back: Why Istio Migrated From Microservices to a Monolithic Architecture.  _IEEE Software_ 38, 5 (2021), 17–22.  https://doi.org/10.1109/MS.2021.3080335
  * Michelon et al. (2021) Gabriela K. Michelon, Wesley K. G. Assunção, David Obermann, Lukas Linsbauer, Paul Grünbacher, and Alexander Egyed. 2021.  The Life Cycle of Features in Highly-Configurable Software Systems Evolving in Space and Time. In _20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences_. ACM.
  * Morris (2021) Richard Morris. 2021\.  _Keeping old computers going costs government £2.3bn a year, says report_.  https://www.bbc.com/news/uk-politics-58085316.
  * Nam et al. (2024) Daye Nam, Andrew Macvean, Vincent Hellendoorn, Bogdan Vasilescu, and Brad Myers. 2024.  Using an llm to help with code understanding. In _IEEE/ACM 46th International Conference on Software Engineering (ICSE)_. IEEE, 881–881.
  * Norton et al. (2008) CD Norton, C Zuffada, OV Kalashnikova, and VK Decyk. 2008\.  Challenges in Modernizing Legacy Scientific Software. In _AGU Fall Meeting Abstracts_ , Vol. 2008. IN11A–1016.
  * Prokofyev et al. (2019) KG Prokofyev, OV Dmitrieva, TR Zmyzgova, and EN Polyakova. 2019.  Modern Engineering Education as a Key Element of Russian Technological Modernization in the Context of Digital Economy. In _International Scientific Conference “Far East Con”(ISCFEC 2018) Advances in Economics, Business and Management Research_ , Vol. 47. 652–656.
  * Pérez-Castillo et al. (2021) Ricardo Pérez-Castillo, Manuel A. Serrano, and Mario Piattini. 2021\.  Software modernization to embrace quantum technology.  _Advances in Engineering Software_ 151 (2021), 102933.  https://doi.org/10.1016/j.advengsoft.2020.102933
  * R and Chikkamannur (2016) Vinay T R and Ajeet A Chikkamannur. 2016.  A methodology for migration of software from single-core to multi-core machine. In _2016 International Conference on Computation System and Information Technology for Sustainable Solutions (CSITSS)_. 367–369.  https://doi.org/10.1109/CSITSS.2016.7779388
  * Åkesson et al. (2019) Jonas Åkesson, Sebastian Nilsson, Jacob Krüger, and Thorsten Berger. 2019.  Migrating the Android Apo-Games into an Annotation-Based Software Product Line. In _23rd International Systems and Software Product Line Conference (SPLC)_. ACM, 103–107.  https://doi.org/10.1145/3336294.3342362
  * Rizvi et al. (2010) SAM Rizvi, Zeba Khanam, and Jamia Millia Islamia. 2010\.  A Comparative Study of using Object oriented approach and Aspect oriented approach for the Evolution of Legacy System.  _International Journal of Computer Applications_ 975 (2010), 8887\.
  * Robertson (1997) Paul Robertson. 1997\.  Integrating Legacy Systems with Modern Corporate Applications.  _Commun. ACM_ 40, 5 (May 1997), 39–46.  https://doi.org/10.1145/253769.253785
  * Salman et al. (2021) Shaik Mohammed Salman, Alessandro V. Papadopoulos, Saad Mubeen, and Thomas Nolte. 2021.  A systematic methodology to migrate complex real-time software systems to multi-core platforms.  _Journal of Systems Architecture_ 117 (2021), 102087.  https://doi.org/10.1016/j.sysarc.2021.102087
  * Sánchez-Gordón et al. (2016) Mary-Luz Sánchez-Gordón, Ricardo Colomo-Palacios, Antonio de Amescua Seco, and Rory V. O’Connor. 2016\.  _The Route to Software Process Improvement in Small- and Medium-Sized Enterprises_.  Springer, Cham, 109–136.  https://doi.org/10.1007/978-3-319-31545-4_7
  * Seacord et al. (2001) Robert Seacord, Santiago Comella-Dorda, Grace Lewis, Patrick Place, and Daniel Plakosh. 2001\.  _Legacy System Modernization Strategies_.  Technical Report CMU/SEI-2001-TR-025. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.  http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=5729
  * Seacord et al. (2003) Robert C. Seacord, Daniel Plakosh, and Grace A. Lewis. 2003\.  _Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices_.  Addison-Wesley, USA.
  * Strobl et al. (2020) Stefan Strobl, Mario Bernhart, and Thomas Grechenig. 2020\.  Towards a Topology for Legacy System Migration. In _IEEE/ACM 42nd International Conference on Software Engineering Workshops_. 586–594.
  * Taibi et al. (2017) Davide Taibi, Valentina Lenarduzzi, and Claus Pahl. 2017\.  Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation.  _IEEE Cloud Computing_ 4, 5 (2017), 22–32.
  * Wang et al. (2021) Yingying Wang, Harshavardhan Kadiyala, and Julia Rubin. 2021.  Promises and challenges of microservices: an exploratory study.  _Empirical Software Engineering_ 26, 4 (may 2021).  https://doi.org/10.1007/s10664-020-09910-y
  * Wolfart et al. (2021) Daniele Wolfart, Wesley K. G. Assunção, Ivonei F. da Silva, Diogo C. P. Domingos, Ederson Schmeing, Guilherme L. Donin Villaca, and Diogo do N. Paza. 2021.  Modernizing Legacy Systems with Microservices: A Roadmap. In _25th Evaluation and Assessment in Software Engineering (EASE)_. ACM, 149–159.
  * Zhao et al. (2024) Xudong Zhao, Xiaolong Xu, Lianyong Qi, Xiaoyu Xia, Muhammad Bilal, Wenwen Gong, and Huaizhen Kou. 2024.  Unraveling quantum computing system architectures: An extensive survey of cutting-edge paradigms.  _Information and Software Technology_ 167 (2024), 107380.