Habilitation thesis of Guillermo Andres Polito

A Language Software EngineeringApproach for Software Evolution

This document presents a selection of scientific contributions in the domain of soft- ware evolution through programming language support. Software migration is the activity of modernizing software to e.g., introduce new features, fix behavioral or security defects, or simply adapt it to changes in the surrounding environment.This document focuses on four different perspectives: automated code transformations, modular architectures, automated testing, and debugging support. All these contributions take different forms but share a common theme: they are all based on, or linked to, programming language support. One such form is the modification of the programming language runtimes to simplify migration tasks. Another such form is exposing and creating programming language and runtime environment abstractions that help developers with software migration and maintenance activities. Finally, some work focuses on the study of the evolution of programming languages themselves.

defended on 19/05/2025