ABSTRACT

Department of Computer Science, University of Illinois at Urbana-Champaign

Many software systems are poorly documented. Developers tend to spend most of their time in developing functionalities rather than documenting them. This causes an issue as after some time it is hard to understand the existing system. A software maintenance task could be harder to perform as there is no documentations of existing functionalities. Indeed, past studies have shown that the cost of software maintenance could be up to 90% of the total software cost [22]. Another study reported that up to 50% of the maintenance cost could be attributed to the difficulty in understanding legacy/existing systems [12,27,67].