The process of building an understanding of the existing system is time consuming and takes around 40% of the allocated time for a maintenance task. Numerous efforts have been made to reduce the time consumed in the program comprehension process by providing support to the programmer during this phase. Full automation of the process of developing an understanding of the program is not possible since it involves human learning activity. Therefore, it has been suggested that the specialized tools should help the programmer discover the software amicably. The segments of the program that can be attractive from the comprehension viewpoint must be brought into the notice of the programmer by the exploration tools. In our case the program discovery tool should pinpoint the key classes of the object-oriented system that are fundamental to its design.