Search papers, labs, and topics across Lattice.
This paper introduces a systematic research agenda for migration-based software maintenance, advocating for the transfer of knowledge and solutions between software systems to automate maintenance tasks. It characterizes the migration-based maintenance lifecycle into four stages: identifying tasks suitable for migration, selecting migration sources, matching and adapting data, and validating correctness. The paper aims to encourage research into migration-based approaches to address challenges in automated software maintenance.
Automating software maintenance by "migrating" solutions from other systems could dramatically reduce labor and errors.
Maintenance is a critical stage in the software lifecycle, ensuring that post-release systems remain reliable, efficient, and adaptable. However, manual software maintenance is labor-intensive, time-consuming, and error-prone, which highlights the urgent need for automation. Learning from maintenance activities conducted on other software systems offers an effective way to improve efficiency. In particular, recent research has demonstrated that migration-based approaches transfer knowledge, artifacts, or solutions from one system to another and show strong potential in tasks such as API evolution adaptation, software testing, and migrating patches for fault correction. This makes migration-based maintenance a valuable research direction for advancing automated maintenance. This paper takes a step further by presenting the first systematic research agenda on migration-based approaches to software maintenance. We characterize the migration-based maintenance lifecycle through four key stages: \ding{182} identifying a maintenance task that can be addressed through migration, \ding{183} selecting suitable migration sources for the target project,\ding{184} matching relevant data across systems and adapting the migrated data to the target context, and \ding{185} validating the correctness of the migration. We also analyze the challenges that may arise at each stage. Our goal is to encourage the community to explore migration-based approaches more thoroughly and to tackle the key challenges that must be solved to advance automated software maintenance.