After a few hours of tinkering with a program, you realize that you have introduced a lot of problems. You want to go back to what the program was like before you began working on it. Which of these will make that possible?

a scientific library
documentation
the development life cycle
a version control system

a version control system