Dora the Program Explorer
A tool for expediting software maintenance
Emily Hill, Lori Pollock, K. Vijay-Shanker
Natural Language Program Analysis (NLPA) Group
Department of Computer & Information Sciences
University of Delaware
Research has shown that during research tasks such as debugging, developers spend more time finding and understanding code than actually fixing bugs [Kersten & Murphy 2005, Ko et al. 2005]. Thus, there is a critical need for automated tools to help developers explore & understanding this software.
Automated tools can draw from the variety of information developers use to explore programs, such as expert knowledge, external documentation, or dynamic information. Regardless of additional available information, the developer will always be interested in the source code itself. Thus, we focus on static information available from the source code, in the form of programmer-defined structure and lexical identifier names.
Dora is an automated approach for focusing program exploration that exploits both structural and lexical information. Dora takes as input a natural language query related to the maintenance task and a program structure representation to be explored. Dora then outputs a subset of the program structure relevant to the query, called a relevant neighborhood. The current implementation of Dora assumes a starting point, or seed, in the program structure representation and finds the relevant neighborhood for this seed. The current implementation uses the program call graph as the program structure representation to be explored, and methods as seed elements.
[Kersten & Murphy 2005] M. Kersten and G. C. Murphy. Mylar: a degree-of-interest model for IDEs. In AOSD '05: Proceedings of the 4th International Conference on Aspect-oriented Software Development, pages 159-168, 2005.
[Ko et al. 2005] A. J. Ko, H. Aung, and B. A. Myers. Eliciting design requirements for maintenance-oriented ides: a detailed study of corrective and perfective maintenance tasks. In ICSE '05: Proceedings of the 27th International Conference on Software Engineering, pages 126-135, 2005.
Exploring the Neighborhood with Dora to Expedite Software Maintenance." Emily Hill, Lori Pollock, and K. Vijay-Shanker. International Conference of Automated Software Engineering (ASE '07). November 2007. [more] [Presentation: PPT] [Presentation and Notes: PDF] [PDF Presentation with animations: 39 MB]
DownloadNEW! The Dora plug-in is now available for download.