We're going to need some mid-level representation of what software is trying to do. Formal specs? UML? Semi-formal specs in natural language? Design rules? People hate updating such representations, but AIs don't have that problem.