Proceedings of the 29th Annual ACM Symposium on Applied Computing 2014
DOI: 10.1145/2554850.2554874
|View full text |Cite
|
Sign up to set email alerts
|

Towards a language-independent approach for reverse-engineering of software product lines

Abstract: Common industrial practices lead to the development of similar software products. These products are usually managed in an ad-hoc way which gradually results in a low product quality. To overcome this problem, it is essential to migrate these products into a Software Product Line (SPL). Towards this direction, this paper proposes a language-independent approach capable of reverse-engineering an SPL from the source code of product variants. A prototype tool and a case study show the feasibility and the practica… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
21
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
5
2
2

Relationship

3
6

Authors

Journals

citations
Cited by 32 publications
(21 citation statements)
references
References 23 publications
0
21
0
Order By: Relevance
“…In the past, several research projects have worked on the problem of specification mining [60,5,20,53]. Dynamic specification mining approaches, which are the context of this paper, work by executing the code and mining execution traces or logs.…”
Section: Background and Related Workmentioning
confidence: 99%
“…In the past, several research projects have worked on the problem of specification mining [60,5,20,53]. Dynamic specification mining approaches, which are the context of this paper, work by executing the code and mining execution traces or logs.…”
Section: Background and Related Workmentioning
confidence: 99%
“…Source code: We reproduced several case studies of feature identification [5] presented in previous works dealing with variants of source code in Java and C [14]. We used an extended version of the Java BUT4Reuse adapter to analyze several families of Android apps.…”
Section: Validation Studiesmentioning
confidence: 99%
“…However, depending on the nature of the variants, this can concern code fragments in the case of source code [2,11,23,34], model fragments in the context of models [12,20] or software components in software architectures [1,14]. Therefore, existing techniques are composed of the following two phases: 1) Abstraction, where the different product variants are abstracted and represented as implementation elements; 2) Location, where algorithms analyse and compare the different product variants to create groups of implementation elements.…”
Section: Feature Locationmentioning
confidence: 99%