Software Product Lines SPL are recognized as a successful approach to reuse in software development.Its purpose is to reduce production costs. This approach allows products to be different with respect of particular characteristics and constraints in order to cover different markets. Software Product Line engineering is the production process in product lines.It exploits the commonalities between software products, but also to preserve the ability to vary the functionality between these products.Sometimes, an inappropriate implementation of SPL during this process can conduct to code smells or code anomalies. Code smells are considered as problems in source code which can have an impact on the quality of the derived products of an SPL. The same problem can be present in many derived products from an SPL due to reuse. A possible solution to this problem can be the refactoring which can improve the internal structure of source code without altering external behavior.This paper proposes an approach for building SPL from source code.Its purpose is to reduce code smells in the obtained SPL using refactoring source code.Another part of the approach consists on obtained SPL's design based on reverse engineering.
翻译:SPL被公认为是软件开发中一种成功的再利用方法。它的目的是降低生产成本。它允许产品因具体特点和限制而有所不同,以覆盖不同的市场。软件产品系列工程是产品系列的生产过程。它利用软件产品之间的共同点,同时也保持了这些产品之间功能差异的能力。有时,在这一过程中不适当地执行SPL可以对气味或代码异常进行编码。代码气味被视为源代码中的问题,可能对SPL的衍生产品的质量产生影响。由于再利用,SPL的许多衍生产品也可能存在同样的问题。这个问题的一个可能解决办法可以是重新构思,既可以改进源代码的内部结构,又不会改变外部行为。本文提出从源代码中建立SPL的方法。目的是用重新设定源代码减少获得的SPL的代码气味。该方法的另一部分是利用反向工程获得的SPL设计。