9. The computer program product of claim 8 , wherein said instructions to refine said natural language program comprise instructions to perform at least one refinement step selected from the group consisting of: (a) inserting one or more lines into said natural language program; (b) deleting one or more lines from said natural language program; (c) replacing one or more phrases of said natural language program; (d) merging two or more lines of said natural language program; (e) splitting one or more lines of said natural language program; (f) changing at least one input to said natural language program; and (g) changing at least one output of said natural language program.
10. The computer program product of claim 9 , wherein each said at least one refinement step is mapped to a natural language edit command.