Framgångsrik programvara utvecklas, allt oftare, från ett enda system till en uppsättning systemvarianter som är skräddarsydda för att möta den liknande och ändå olika funktionalitet som krävs av de olika kunderna och användarna. Software Product Line Engineering (SPLE) är ett programvaruutvecklingsparadigm som har visat sig vara eektivt för att klara av detta scenario. Kärnan i SPLE är variabilitet modellering som använder Feature Models (FM) som de facto standard för att representera de kombinationer av funktioner som skiljer systemen varianter. Reverse Engineering FM består i att konstruera en funktionsmodell från en uppsättning produktbeskrivningar. Detta forskningsområde blir allt mer aktivt inom SPLE-gemenskapen, där problemet har behandlats med olika perspektiv och tillvägagångssätt som sträcker sig från analys av sammansmältningsskript, användning av propositionslogik eller naturliga språktekniker, till ad hoc-algoritmer. I den här artikeln undersöker vi möjligheten att använda Evolutionary Algorithms (EAs) för att syntetisera FMs från de funktionsuppsättningar som beskriver systemvarianterna. Vi analyserade 59 representativa fallstudier av olika egenskaper och komplexitet. Vår undersökande studie fann att FMs som betecknar lämpliga superset av de önskade funktionen uppsättningar kan erhållas med ett litet antal generationer. Att minska skillnaderna mellan dessa två uppsättningar med en eektiv och skalbar funktion är dock fortfarande en öppen fråga. Vi anser att detta arbete är ett första steg mot att utnyttja den omfattande rikedom av sökbaserad programvaruteknik teknik för att ta itu med detta och andra utmaningar variabilitet management.
al använda i REF en genetisk algoritm för att vända ingenjör funktionsmodeller från en uppsättning av funktionsuppsättningar.
Reverse engineering feature models with evolutionary algorithms: an exploratory study
{'venue': 'SSBSE', 'journal': None, 'mag_field_of_study': ['Computer Science']}