Automatically inferring concern code from program investigation activities
- 24 January 2004
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 225-234
- https://doi.org/10.1109/ase.2003.1240310
Abstract
When performing a program evolution task, developers typically spend a significant amount of effort investigating and reinvestigating source code. To reduce this effort, we propose a technique to automatically infer the essence of program investigation activities as a set of concern descriptions. The concern descriptions produced by our technique list methods and fields of importance in the context of the investigation of an object-oriented system. A developer can rely on this information to perform the change task at hand, or at a later stage for a change that involves the same concerns. The technique involves applying an algorithm to a transcript of a program investigation session. The transcript lists which pieces of source code were accessed by a developer when investigating a program and how the different pieces of code were accessed. We applied the technique to data obtained from program investigation activities for five subjects involved in two different program evolution tasks. The results show that relevant concerns can be identified with a manageable level of noise.Keywords
This publication has 11 references indexed in Scilit:
- Locating user functionality in old codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Concern graphsPublished by Association for Computing Machinery (ACM) ,2002
- TraceGraph: immediate visual location of software featuresPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2000
- Identifying objects using cluster and concept analysisPublished by Association for Computing Machinery (ACM) ,1999
- Early field experience with the Software Reconnaissance technique for program comprehensionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1996
- Software reconnaissance: Mapping program features to codeJournal of Software Maintenance: Research and Practice, 1995
- Using program slicing in software maintenanceIEEE Transactions on Software Engineering, 1991
- Designing documentation to compensate for delocalized plansCommunications of the ACM, 1988
- Delocalized Plans and Program ComprehensionIEEE Software, 1986
- Program SlicingIEEE Transactions on Software Engineering, 1984