An Information Retrieval Approach for Automatically Constructing Software Libraries
IEEE Transactions on Software Engineering
GENOA: a customizable language- and front-end independent code analyzer
ICSE '92 Proceedings of the 14th international conference on Software engineering
Program understanding and the concept assignment problem
Communications of the ACM
Software salvaging and the call dominance tree
Journal of Systems and Software
Using English to retrieve software
Journal of Systems and Software - Special issue on software reuse
Lightweight lexical source model extraction
ACM Transactions on Software Engineering and Methodology (TOSEM)
Object-oriented application frameworks
Communications of the ACM
The UNIX Programming Environment
The UNIX Programming Environment
Knowledge-Based Program Analysis
IEEE Software
Recognizing a Program's Design: A Graph-Parsing Approach
IEEE Software
A Framework for Source Code Search Using Program Patterns
IEEE Transactions on Software Engineering
A": A Language for Implementing Language Processors
IEEE Transactions on Software Engineering
Finding Components in a Hierarchy of Modules: a Step towards Architectural Understanding
ICSM '97 Proceedings of the International Conference on Software Maintenance
ACDC: An Algorithm for Comprehension-Driven Clustering
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Fast, Flexible Syntactic Pattern Matching and Processing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
CVSSearch: Searching through Source Code using CVS Comments
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Design recovery of interactive graphical applications
Proceedings of the 25th International Conference on Software Engineering
A search system for java programs by using extracted javaBeans components
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Towards supporting on-demand virtual remodularization using program graphs
Proceedings of the 5th international conference on Aspect-oriented software development
Representing concerns in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Using natural language program analysis to locate and understand action-oriented concerns
Proceedings of the 6th international conference on Aspect-oriented software development
Supporting the Investigation and Planning of Pragmatic Reuse Tasks
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Exploring the neighborhood with dora to expedite software maintenance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
View-based maintenance of graphical user interfaces
Proceedings of the 7th international conference on Aspect-oriented software development
Script InSight: Using Models to Explore JavaScript Code from the Browser View
ICWE '9 Proceedings of the 9th International Conference on Web Engineering
Hi-index | 0.00 |
Nowadays, applications are typically written using an object-oriented GUI framework. In this paper 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 demonstrate our approach, which takes advantage of this connection, on KDE applications written using the KDE GUI framework.