A Survey of Feature Location Techniques Julia Rubin and Marsha Chechik Abstract Feature location techniques aim at locating software artifacts that imple- ment a specific program functionality, a.k.a. a feature. These techniques support de- velopers 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). Manag- ing 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. Key words: Software product lines, software maintenance, feature location. 1 Introduction Software Product Line Engineering (SPLE) techniques [10, 25] capitalize on iden- tifying and managing common and variable product line features across a product portfolio. SPLE promotes systematic software reuse by leveraging the knowledge about the set of available features, relationships among the features and relation- ships between the features and software artifacts that implement them. However, in reality, software families – collections of related software products – often emerge Julia Rubin IBM Research, Haifa, Israel and University of Toronto, Canada, e-mail: mjulia@il.ibm.com Marsha Chechik University of Toronto, Canada e-mail: chechik@cs.toronto.edu 1