Controlled evolution of adaptive programs
Ahmed Abdelmeged, Therapon Skotiniotis, Karl J. Lieberherr · 2009
Adaptive programming (AP) is a programming paradigm for expressing structure-shy computations over semi-structured data graphs. Structure-shyness means that adaptive pro-grams hard code a minimal set of assumptions about the structure of their input. Because of this, adaptive programs are more susceptible to unsafe evolutions; evolutions that jeopardize the correctness of adaptive programs yet go un-caught. In this paper we study the evolution of adaptive programs and present two complementary approaches for controlling their unsafe evolution: a language for express-ing application-specific constraints on the runtime behavior of adaptive programs, and a stricter notion of compatibility between the parts of an adaptive program, that does not sacrifice the expressiveness of the AP paradigm.