The goal of redocumentation is to recover comprehension of software and to record it for future use[1]. Software redocumentation is part of the software reengineering process. Program comprehension is the most expensive part of software maintenance, and redocumentation is the key to software maintainability. Redocumentation can either be done in a whole-scale effort, or it can be done incrementally as part of of the maintenance miniprocess. Incremental Redocumentation is the process of capturing program comprehension in each maintenance visit, thereby accumulating and updating program documentation opportunistically.
Factoring the concept of incremental redocumentation, the miniprocess of software changes than has the following form:
During the early phases of the miniprocess, the programmer gains an understanding of a particular aspect of the system. He uses the understanding to execute the change. Finally, at the end of the miniprocess, he records it so that it is not forgotten. As the software is repeatedly changed, and as additional constructs are visited, more and more documentation is accumulated.
Whenever incremental redoucmentation is employed, the redocumentation is done as part of the maintenance minicycle, and it is based on the understanding which the programmer acquired during the process of the change (as taken from [2]).