Migration of Cloned Product Variants into an Annotative Software Product Line: An experimental case study on Android applications

dc.contributor.authorNILSSON, SEBASTIAN
dc.contributor.authorÅKESSON, JONAS
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.examinerScandariato, Riccardo
dc.contributor.supervisorBerger, Thorsten
dc.date.accessioned2019-08-21T13:00:15Z
dc.date.available2019-08-21T13:00:15Z
dc.date.issued2019sv
dc.date.submitted2019
dc.description.abstractSoftware-product-line engineering (SPLE) is a systematic way of using software engineering methods, tools and techniques in order to create a collection of similar software-based systems. The idea of SPLE is that a product is defined based on the features of the product. The features are identified and structurally defined in the code. This is called software product line (SPL). A new variant of a product is created by selecting a certain set of features to fulfill the requirements of that product. A common problem with SPLE is that companies often have trouble in deciding whether or not to perform an SPL migration, since they are unsure of the costs of doing so. Even if they decide to perform a migration, they do not know which approach is the best for them. These issues are the motivation for this thesis. We have performed a migration on a set of Android games into an annotative SPL. An annotative SPL means that features are defined in the code in form of annotations and that the products are included in a common code base. The games were written by using a clone-and-own approach, meaning that products are cloned and modified to match some requirements. We migrated the games to an SPL by extracting the common elements of these games and annotating them as features in the code. Each activity that we performed was logged with a measurement approach that we designed with another thesis group that did a migration with another approach called composition-based. This thesis presents what activities should be performed when doing a migration to an annotative SPL. It also presents the characteristics and costs of these activities, and there is also a comparison between using an annotationbased approach and a composition-based approach. This study finds that there are several different activities that should be involved when performing a migration. The activities have different characteristics in terms of complexity, importance and timescale. By comparing to the composition-based approach, we found that the annotation-based approach is easier to start with when you are a novice to the SPL topic and that it also cost more to perform in terms of time.sv
dc.identifier.coursecodeDATX05sv
dc.identifier.urihttps://hdl.handle.net/20.500.12380/300150
dc.language.isoengsv
dc.setspec.uppsokTechnology
dc.subjectsoftware product linesv
dc.subjectsoftware-product-line engineeringsv
dc.subjectannotationbasedsv
dc.subjectmigrationsv
dc.titleMigration of Cloned Product Variants into an Annotative Software Product Line: An experimental case study on Android applicationssv
dc.type.degreeExamensarbete för masterexamensv
dc.type.uppsokH
local.programmeSoftware engineering and technology (MPSOF), MSc

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 19-44 Åkesson Nilsson.pdf
Storlek:
2.16 MB
Format:
Adobe Portable Document Format
Beskrivning:

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
1.14 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: