Affiliation:
1. Peking University, Beijing, China
2. Rensselaer Polytechnic Institute, Troy, NY
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.
Publisher
Association for Computing Machinery (ACM)
Reference41 articles.
1. Recovering traceability links between code and documentation
2. Baeza-Yates R. and Ribeiro-Neto B. 1999. Modern Information Retrieval. ACM Press. New York.]] Baeza-Yates R. and Ribeiro-Neto B. 1999. Modern Information Retrieval. ACM Press. New York.]]
Cited by
74 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Discovering Reusable Functional Features in Legacy Object-Oriented Systems;IEEE Transactions on Software Engineering;2023-07
2. Towards Automatically Localizing Function Errors in Mobile Apps With User Reviews;IEEE Transactions on Software Engineering;2023-04-01
3. Research on internetware: Review and prospect;Chinese Science Bulletin;2022-07-21
4. Feature Location in Software Variants Toward Software Product Line Engineering;Handbook of Re-Engineering Software Intensive Systems into Software Product Lines;2022-07-05
5. CIDER;Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings;2022-05-21