Supporting Product Line Adoption by Combining Syntactic and Textual Feature Extraction

András Kicsi, László Vidács, Viktor Csuvik, Ferenc Horváth, Árpád Beszédes, Ferenc Kocsis
Software product line (SPL) architecture facilitates systematic reuse to serve specific feature requests of new customers. Our work deals with the adoption of SPL architecture in an existing legacy system. In this case, the extractive approach of SPL adoption turned out to be the most viable method, where the system is redesigned keeping variants within the same code base. The analysis of the feature structure is a crucial point in this process as it involves both domain experts working at a higher level of abstraction and developers working directly on the program code. In this work, we propose an automatic method to extract feature-to-program connections starting from a very high level set of features provided by domain experts and existing program code. The extraction is performed by combining and further processing call graph information on the code with textual similarity between code and high level features. The context of our work is an industrial SPL adoption project of a large scale logistical information system written in an 4G language, Magic. We demonstrate the benefits of the combined method and its use by different stakeholders in this project.

Keywords: Product lines, SPL, Feature extraction, Variability mining, Magic, 4GL, Information retrieval, Call graphs.