Safe predictable dynamic software updating