The program requires two parts--a parser to extract information about the contents of the program, and a graphical user interface to display the data.