Resolving code smells in software product line using refactoring and reverse engineering

Sami Ouali
DOI: https://doi.org/10.48550/arXiv.2011.14283
2020-11-29
Abstract:Software Product Lines SPL are recognized as a successful approach to reuse in software <a class="link-external link-http" href="http://development.Its" rel="external noopener nofollow">this http URL</a> 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 <a class="link-external link-http" href="http://lines.It" rel="external noopener nofollow">this http URL</a> exploits the commonalities between software products, but also to preserve the ability to vary the functionality between these <a class="link-external link-http" href="http://products.Sometimes" rel="external noopener nofollow">this http URL</a>, 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 <a class="link-external link-http" href="http://behavior.This" rel="external noopener nofollow">this http URL</a> paper proposes an approach for building SPL from source <a class="link-external link-http" href="http://code.Its" rel="external noopener nofollow">this http URL</a> purpose is to reduce code smells in the obtained SPL using refactoring source <a class="link-external link-http" href="http://code.Another" rel="external noopener nofollow">this http URL</a> part of the approach consists on obtained SPL's design based on reverse engineering.
Software Engineering
What problem does this paper attempt to address?