SourceForge Logo CleverCS
Browsing and Searching Source Code of Applications written using a GUI Framework


Nowadays, applications are typically written using an object-oriented GUI framework. In this project we explore the possibility of using the GUI of such applications to guide browsing and search of their source code. Such a tool would be helpful for software maintenance and reuse, particularly when the application source is unfamiliar.

Intuitively, we would expect the task of browsing and searching source code of an application written using a GUI framework to be easier than one that doesn't because the GUI framework imposes a structure on the application. Generally, the GUI framework is in control and makes calls into the application code to handle various events --- thus providing fundamental entry points into the application code, namely the callbacks.

Of course, this is a property of frameworks in general but GUI frameworks have one additional advantage: the GUI is visible to the end-user and contains text messages describing what the application can do. Thus we have an explicit connection between an informal specification fragment visible in the GUI and its precise entry point to the implementation in the source.

We take advantage of this connection for both browsing and search of application source code. To find out more, read our paper on GUISearch [ pdf / ps.gz ]. (This paper will appear in the International Conference on Software Engineering, 2002.)

KDE Demo

You can find a demo for over 350 KDE applications. Updated weekly from the KDE CVS repository.


Beta available for download: guisearch-0.3.0.tar.gz

Other Work

I have been recently working on a tool for design recovery/reverse engineering of interactive graphical applications.
Go to SourceForge project page.