Show simple item record

dc.contributor.authorLima, Crescencio
dc.contributor.authorAssunção, Wesley KG
dc.contributor.authorMartinez, Jabier
dc.contributor.authorMendonça, William
dc.contributor.authorMachado, Ivan C
dc.contributor.authorChavez, Christina FG
dc.date.accessioned2019-07-16T11:37:53Z
dc.date.available2019-07-16T11:37:53Z
dc.date.issued2019-12
dc.identifier.citationLima, Crescencio, Wesley KG Assunção, Jabier Martinez, William Mendonça, Ivan C Machado, and Christina FG Chavez. “Product Line Architecture Recovery with Outlier Filtering in Software Families: The Apo-Games Case Study.” Journal of the Brazilian Computer Society 25, no. 1 (June 24, 2019). doi:10.1186/s13173-019-0088-4.en
dc.identifier.issn0104-6500en
dc.identifier.urihttp://hdl.handle.net/11556/740
dc.description.abstractSoftware product line (SPL) approach has been widely adopted to achieve systematic reuse in families of software products. Despite its benefits, developing an SPL from scratch requires high up-front investment. Because of that, organizations commonly create product variants with opportunistic reuse approaches (e.g., copy-and-paste or clone-and-own). However, maintenance and evolution of a large number of product variants is a challenging task. In this context, a family of products developed opportunistically is a good starting point to adopt SPLs, known as extractive approach for SPL adoption. One of the initial phases of the extractive approach is the recovery and definition of a product line architecture (PLA) based on existing software variants, to support variant derivation and also to allow the customization according to customers’ needs. The problem of defining a PLA from existing system variants is that some variants can become highly unrelated to their predecessors, known as outlier variants. The inclusion of outlier variants in the PLA recovery leads to additional effort and noise in the common structure and complicates architectural decisions. In this work, we present an automatic approach to identify and filter outlier variants during the recovery and definition of PLAs. Our approach identifies the minimum subset of cross-product architectural information for an effective PLA recovery. To evaluate our approach, we focus on real-world variants of the Apo-Games family. We recover a PLA taking as input 34 Apo-Game variants developed by using opportunistic reuse. The results provided evidence that our automatic approach is able to identify and filter outlier variants, allowing to eliminate exclusive packages and classes without removing the whole variant. We consider that the recovered PLA can help domain experts to take informed decisions to support SPL adoption.en
dc.description.sponsorshipThis research was partially funded by INES 2.0; CNPq grants 465614/2014-0 and 408356/2018-9; and FAPESB grants JCB0060/2016 and BOL2443/2016en
dc.language.isoengen
dc.publisherSpringer Londonen
dc.rightsAttribution 4.0 International*
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/*
dc.titleProduct line architecture recovery with outlier filtering in software families: the Apo-Games case studyen
dc.typearticleen
dc.identifier.doi10.1186/s13173-019-0088-4en
dc.rights.accessRightsopenAccessen
dc.subject.keywordsSoftware product linesen
dc.subject.keywordsProduct line architectureen
dc.subject.keywordsVariabilityen
dc.subject.keywordsProduct line architecture recoveryen
dc.identifier.essn1678-4804en
dc.issue.number1en
dc.journal.titleJournal of the Brazilian Computer Societyen
dc.volume.number25en


Files in this item

Thumbnail

    Show simple item record

    Attribution 4.0 InternationalExcept where otherwise noted, this item's license is described as Attribution 4.0 International