Summary: | === Many software systems have been developed as single products before Software Product Lines (SPLs) have emerged. Although some promising approaches have been proposed, extracting an SPL from existing software products is still expensive and time consuming. This work presents a method to extract an SPL from single products that relies on software testing already developed. We evaluate testing as the main mean to locate feature code and different sorts of existing artifacts to support the test-based location. We conduct three case studies starting from the derivation of the SPL feature model to the feature code location. Our results indicate (i) interesting rates of precision for feature seed location, where seed means a small portion of the feature code that allows the identification of the remaining portion, and (ii) good rates of recall for locating the whole feature code. === Muitos sistemas de software foram desenvolvidas como produtos individuais antes da abordagem de Linha de Produtos de Software (LPS) emergir. Embora algumas abordagens promissoras foram propostas, extrair uma LPS de produtos de software existentes ainda e caro e demorado. Este trabalho apresenta um metodo para extrair uma LPS a partir de produtos unicos que se baseia em testes de software ja desenvolvidos. Nos avaliamos testes como o principal meio para localizar codigo de caracteristicas e diferentes tipos de artefatos existentes para apoiar a tecnica de localizacao baseada em testes. Realizou-se tres estudos de caso iniciando a partir da derivacao do modelo de caracteristicas da LPS ate a localizacao do codigo das caracteristicas. Os nossos resultados indicaram (i) interessantes indices de precisao de localizacao de sementes das caracteristicas, semente e uma pequena porcao do codigo de caracteristica que permite a identificacao da porcao restante, e (ii) boas taxas de cobertura para localizar o codigo completo da caracteristica.
|