Title :
Building Usage Contexts During Program Comprehension
Author :
Parnin, Chris ; Görg, Carsten
Author_Institution :
Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA
Abstract :
Software developers often work on multiple simultaneous projects. Even when only a single project is underway, everyday distractions interrupt the development effort. Consequently, developers spend significant effort pursuing recovery of their context. By context, we focus on the classes and methods within the code that are relevant to a specific bug being fixed or enhancement made. Context is reified by a program in terms of a set of presentations (windows a containing source code, command executions, and data files); however, it is not enough to save the latest context. Even when working on a single task, programmers flip between contexts as they extend their understanding, and when they decide on a change, they may have to visit several contexts in order to address all possible ripple effects. Consequently, we would like to record a history of contexts and be able to retrieve them as demanded by the current task. We introduce a novel technique to obtain a context, consisting of a set of methods relevant for the current task, from a programmer´s interactions with an IDE. Using this context, we demonstrate how to improve the ability of a programmer to recover the mental state associated with tasks and to facilitate the exploration of software through recommendation systems
Keywords :
human factors; project management; reverse engineering; software engineering; IDE; program bug; program comprehension; program usage context; programmer interaction; recommendation system; software project development; Context modeling; Educational institutions; Energy resolution; History; Organizing; Programming profession; Software systems;
Conference_Titel :
Program Comprehension, 2006. ICPC 2006. 14th IEEE International Conference on
Conference_Location :
Athens
Print_ISBN :
0-7695-2601-2
DOI :
10.1109/ICPC.2006.14