Dependable Reuse Across Related Systems
Organizations often create software by copying and customizing an existing system. As the related systems evolve independently, an important fix, security update, or functional improvement made in one may never reach the others. Finding a potentially useful change is only the beginning: developers must determine where it belongs, adapt it to a different structure and context, and evaluate whether it still accomplishes its intended purpose.
We develop methods that help developers discover, prioritize, align, adapt, and verify reusable changes. This research builds on PaReco, GACPD, MOVis, RePatch, and our emerging semantic-alignment and reusable-change-adaptation infrastructure. It is supported in part by NSF CAREER Award #2542438.