Runtime Support for Self-Evolving Software