A Survey of Feature Location Techniques

A Survey of Feature Location Techniques
复制标题

特征定位技术综述

DOI:
10.1007/978-3-642-36654-3_2
复制
发表时间:
2013
期刊:
影响因子:
2.2
通讯作者:
M. Chechik
M. Chechik
中科院分区:
计算机科学4区
文献类型:
--
作者:
J. Rubin;M. Chechik

文献摘要

被引文献

相似文献

特征定位技术旨在定位实现特定程序功能的软件构件。一个特写。这些技术在各种活动期间为开发人员提供支持,例如软件维护、面向方面或功能的重构等。例如,检测对应于产品线特征的构件可以帮助软件产品线工程(SPLe)推动从非结构化的重用方法向系统化的重用方法的转变。管理特性以及这些特性和实现它们的构件之间的可跟踪性是SPLe领域工程阶段的一项基本任务,在该阶段中,产品线资源被指定、设计和实现。在本章中,我们将对现有的要素定位技术进行概述。我们描述了他们的实现策略,并在一个现实的用例上举例说明了这些技术。我们还讨论了它们的特性、优点和缺点,并提供了可供从业者在决定选择哪种特征定位技术时使用的指南。我们的调查表明,现有的特征定位技术都不是被设计成考虑相关产品的家族,而只是将产品线中的不同产品视为独立的、不相关的实体。因此,我们讨论了利用SPLe体系结构来改进功能定位过程的可能方向。
Feature location techniques aim at locating software artifacts that implement a specific program functionality, a.k.a. a feature. These techniques support developers during various activities such as software maintenance, aspect- or feature-oriented refactoring, and others. For example, detecting artifacts that correspond to product line features can assist the transition from unstructured to systematic reuse approaches promoted by software product line engineering (SPLE). Managing features, as well as the traceability between these features and the artifacts that implement them, is an essential task of the SPLE domain engineering phase, during which the product line resources are specified, designed, and implemented. In this chapter, we provide an overview of existing feature location techniques. We describe their implementation strategies and exemplify the techniques on a realistic use-case. We also discuss their properties, strengths, and weaknesses and provide guidelines that can be used by practitioners when deciding which feature location technique to choose. Our survey shows that none of the existing feature location techniques are designed to consider families of related products and only treat different products of a product line as individual, unrelated entities. We thus discuss possible directions for leveraging SPLE architectures in order to improve the feature location process.