|
ABSTRACT
To facilitate software maintenance and evolution, a helpful step is to locate features concerned in a particular maintenance task. In the literature, both dynamic and interactive approaches have been proposed for feature location. In this article, we present a static and noninteractive method for achieving this objective. The main idea of our approach is to use information retrieval (IR) technology to reveal the basic connections between features and computational units in the source code. Due to the imprecision of retrieved connections, we use a static representation of the source code named BRCG (branch-reserving call graph) to further recover both relevant and specific computational units for each feature. A premise of our approach is that programmers should use meaningful names as identifiers. We also performed an experimental study based on two real-world software systems to evaluate our approach. According to experimental results, our approach is quite effective in acquiring the relevant and specific computational units for most features.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
Ted J. Biggerstaff , Bharat G. Mitbander , Dallas Webster, The concept assignment problem in program understanding, Proceedings of the 15th international conference on Software Engineering, p.482-498, May 17-21, 1993, Baltimore, Maryland, United States
|
| |
6
|
|
| |
7
|
Breiman, L., Friedman, J. H., Olshen, R. A., and Stone, C. J. 1984. Classification and Regression Trees. Wadsworth, Belmont, Calif.
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
Deerwester, S., Dumais, S. T., Furnas, G. W., Landauer, T. K., and Harshman, R. 1990. Indexing by latent semantic analysis. J. Am. Soc. Inf. Sci. 41, 391--407.
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
| |
16
|
|
| |
17
|
Gnu DC. An Arbitrary Precision Calculator. http://www.gnu.org/directory/GNU/bc.html.
|
| |
18
|
Gnu UnRTF. Converts from RTF to Other Formats. http://www.gnu.org/software/unrtf/unrtf.html.
|
| |
19
|
William G. Griswold , Jimmy J. Yuan , Yoshikiyo Kato, Exploiting the map metaphor in a tool for software evolution, Proceedings of the 23rd International Conference on Software Engineering, p.265-274, May 12-19, 2001, Toronto, Ontario, Canada
|
 |
20
|
Neelam Gupta , Aditya P. Mathur , Mary Lou Soffa, Automated test data generation using an iterative relaxation method, Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering, p.231-244, November 01-05, 1998, Lake Buena Vista, Florida, United States
|
| |
21
|
|
| |
22
|
Licata, D. R., Harris, C. D., and Krishnamurthi, S. 2003. The feature signatures of evolving programs. In Proceedings of the 18th International Conference on Automated Software Engineering (Montreal, Que., Oct.). IEEE Computer Society, Washington, D.C. 281--285.
|
| |
23
|
|
| |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
 |
28
|
|
 |
29
|
|
| |
30
|
|
| |
31
|
|
 |
32
|
Frank Tip , Adam Kiezun , Dirk Bäumer, Refactoring for generalization using type constraints, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
| |
33
|
Turver, R. J. and Malcolm, M. 1994. An early impact analysis technique for software maintenance. J. Softw. Maintenance: Res. and Pract. 6, 1, 35--52.
|
| |
34
|
Weiser, M. 1984. Program slicing. IEEE Trans. Soft. Eng. 10, 4, 352--357.
|
| |
35
|
Wilde, N., Gomez, J. A., Gust, T., and Strasburg, D. 1992. Locating user functionality in old code. In Proceedings of the 8th International Conference on Software Maintenance (Orlando, Fla., Nov.). IEEE Computer Society, Washington, D.C. 200--205.
|
| |
36
|
|
| |
37
|
|
| |
38
|
|
| |
39
|
Yau, S. S., Nichol, R. A., Tsai, J. J., and Liu, S. 1988. An integrated life-cycle model for software maintenance. IEEE Trans. Softw. Eng. 15, 7, 58--95.
|
| |
40
|
|
| |
41
|
|
CITED BY 6
|
Emily Hill , Zachary P. Fry , Haley Boyd , Giriprasad Sridhara , Yana Novikova , Lori Pollock , K. Vijay-Shanker, AMAP: automatically mining abbreviation expansions in programs to enhance software maintenance tools, Proceedings of the 2008 international working conference on Mining software repositories, May 10-11, 2008, Leipzig, Germany
|
|
|
|
|
|
Dapeng Liu , Andrian Marcus , Denys Poshyvanyk , Vaclav Rajlich, Feature location via information retrieval based filtering of a single scenario execution trace, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, November 05-09, 2007, Atlanta, Georgia, USA
|
|
|
|
|
INDEX TERMS
Primary Classification:
K.
Computing Milieux
K.6
MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
K.6.3
Software Management
Subjects:
Software maintenance
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.7
Distribution, Maintenance, and Enhancement
Subjects:
Restructuring, reverse engineering, and reengineering
D.3
PROGRAMMING LANGUAGES
D.3.1
Formal Definitions and Theory
Subjects:
Semantics;
Syntax
F.
Theory of Computation
F.3
LOGICS AND MEANINGS OF PROGRAMS
F.3.2
Semantics of Programming Languages
Subjects:
Program analysis
General Terms:
Algorithms,
Experimentation
Keywords:
BRCG,
Program comprehension,
feature location,
information retrieval,
static analysis,
traceability
|