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

11/29/2020
by   Sami Ouali, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/12/2021

Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned

Ideally, a variability model is a correct and complete representation of...
research
07/01/2021

IsiSPL: Toward an Automated Reactive Approach to build Software Product Lines

Over the past decades, Software Product Lines (SPLs) have demonstrated t...
research
03/23/2023

Frankenstein's Toolkit: Prototyping Electronics Using Consumer Products

In our practice as educators, researchers and designers we have found th...
research
12/31/2020

Optimal Software Architecture From Initial Requirements: An End-to-End Approach

A software architect turns system requirements into a suitable software ...
research
07/11/2022

Adaptive Behavioral Model Learning for Software Product Lines

Behavioral models enable the analysis of the functionality of software p...
research
06/12/2018

A Product Line Systems Engineering Process for Variability Identification and Reduction

Software Product Line Engineering has attracted attention in the last tw...
research
12/13/2018

A Systematic Review of Tracing Solutions in Software Product Lines

Software Product Lines are large-scale, multi-unit systems that enable m...

Please sign up or login with your details

Forgot password? Click here to reset