vorhersage von nicht-funktionalen feature-interaktionen · motivation bestimmung nicht-funktionaler...
Post on 07-Aug-2019
223 Views
Preview:
TRANSCRIPT
Vorhersage von nicht-funktionalenFeature-Interaktionen
Sergiy Kolesnikov, Semah Senkaya, Sven Apel
Universitat Passau
Braunschweig21.03.2012
In Kooperation mit: Norbert Siegmund, Stefan Sobernig, Jorg Liebig
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 1 / 17
Motivation
Bestimmung nicht-funktionaler Eigenschafteneines Produktes.Klassische Methode: messe jedes einzelne Produkt.
Wie lange wird die Messung aller Produkte vonSQLite-Produktlinie dauern?
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 2 / 17
Motivation
Bestimmung nicht-funktionaler Eigenschafteneines Produktes.Klassische Methode: messe jedes einzelne Produkt.
Wie lange wird die Messung aller Produkte vonSQLite-Produktlinie dauern?
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 2 / 17
Statische Software-Attribute
These:Statische Programmanalyse und Software-Metrikenkonnen helfen,nicht-funktionale Feature-Interaktionen vorherzusagen.
Beispiele fur statische Software-Attribute:Auf Code-Ebene: Dep-DegreeAuf Architektur-Ebene: Centrality
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 3 / 17
Statische Software-Attribute
These:Statische Programmanalyse und Software-Metrikenkonnen helfen,nicht-funktionale Feature-Interaktionen vorherzusagen.
Beispiele fur statische Software-Attribute:Auf Code-Ebene: Dep-DegreeAuf Architektur-Ebene: Centrality
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 3 / 17
Beispiel: Dep-Degree
Zwei “swap”-Implementierungen:
Dep-Degree: 6 Dep-Degree: 3
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 4 / 17
Beispiel: Dep-Degree
Zwei “swap”-Implementierungen:
Dep-Degree: 6 Dep-Degree: 3
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 4 / 17
Beispiel: Dep-Degree
Zwei “swap”-Implementierungen:
Dep-Degree: 6 Dep-Degree: 3Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 4 / 17
Beispiel: Centrality
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 5 / 17
Beispiel: Centrality
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 5 / 17
Beispiel: Centrality
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 5 / 17
Vorhersagekraft von statischen Software-Attributen
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 6 / 17
Vorhersagekraft von statischen Software-Attributen
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 6 / 17
Alternativ: Machine Learning
Ist die Vorhersagekraft eines Software-Attributsfur alle Produktlinien gleich?
Falls nicht, nimm alle Daten und lasseData-Mining-Algorithmen darauf los.Ziel: Generierung von Predictors.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 7 / 17
Alternativ: Machine Learning
Ist die Vorhersagekraft eines Software-Attributsfur alle Produktlinien gleich?
Falls nicht, nimm alle Daten und lasseData-Mining-Algorithmen darauf los.Ziel: Generierung von Predictors.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 7 / 17
Predictor
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 8 / 17
Predictor
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 8 / 17
Ziel 1 der Arbeit
Einfach Komplex
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 9 / 17
Sampling
SamplingFinde Produkte mit besonderen Eigenschaftenin der Menge aller Produkte einer Produktlinie.
Besondere Eigenschaftenviele nicht-funktionale Feature-Interaktionenviele Defekte in der bisherigen ProjektlaufzeitArchitektur-Defizite
State-of-the-ArtHeuristiken
Pair-Wise InteractionsHigher-Order InteractionsHot Spot Features
Domanenwissen
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 10 / 17
Sampling
SamplingFinde Produkte mit besonderen Eigenschaftenin der Menge aller Produkte einer Produktlinie.
Besondere Eigenschaftenviele nicht-funktionale Feature-Interaktionenviele Defekte in der bisherigen ProjektlaufzeitArchitektur-Defizite
State-of-the-ArtHeuristiken
Pair-Wise InteractionsHigher-Order InteractionsHot Spot Features
Domanenwissen
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 10 / 17
Spieltheorie
Ein kooperatives spieltheoretisches Framework fur Sampling
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 11 / 17
Aufbau des Sampling-Spieles
Spieler = Features der Produktlinie
Spieler bilden Koalitionen = Mengen von FeaturesSpieler wahlt immer eine Koalition mit dem großten Profit= viele Interaktionen und wenig Messungen.Ziel des Spiels: Features so gruppieren, dass dieGruppen viele Interaktionen haben und wenigeMessungen brauchen.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 12 / 17
Aufbau des Sampling-Spieles
Spieler = Features der ProduktlinieSpieler bilden Koalitionen = Mengen von Features
Spieler wahlt immer eine Koalition mit dem großten Profit= viele Interaktionen und wenig Messungen.Ziel des Spiels: Features so gruppieren, dass dieGruppen viele Interaktionen haben und wenigeMessungen brauchen.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 12 / 17
Aufbau des Sampling-Spieles
Spieler = Features der ProduktlinieSpieler bilden Koalitionen = Mengen von FeaturesSpieler wahlt immer eine Koalition mit dem großten Profit= viele Interaktionen und wenig Messungen.
Ziel des Spiels: Features so gruppieren, dass dieGruppen viele Interaktionen haben und wenigeMessungen brauchen.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 12 / 17
Aufbau des Sampling-Spieles
Spieler = Features der ProduktlinieSpieler bilden Koalitionen = Mengen von FeaturesSpieler wahlt immer eine Koalition mit dem großten Profit= viele Interaktionen und wenig Messungen.Ziel des Spiels: Features so gruppieren, dass dieGruppen viele Interaktionen haben und wenigeMessungen brauchen.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 12 / 17
Spielverlauf
profit({A,B})
= 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
A B C D E F G H I J K L
A
B
C
D
E
F
G
H
I
J
K
L
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
A B C D E F G H I J K L
A
B
C
D
E
F
G
H
I
J
K
L
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
A B C D E F G H I J K L
A
B
C
D
E
F
G
H
I
J
K
L
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
A B C D E F G H I J K L
A
B
C
D
E
F
G
H
I
J
K
L
AB AL BF DI EF JL
AB
AL
BF
DI
EF
JL
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
A B C D E F G H I J K L
A
B
C
D
E
F
G
H
I
J
K
L
AB AL BF DI EF JL
AB
AL
BF
DI
EF
JL
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
A B C D E F G H I J K L
A
B
C
D
E
F
G
H
I
J
K
L
AB AL BF DI EF JL
AB
AL
BF
DI
EF
JL
ABDI ALBF DIJL
ABDI
ALBF
DIJL
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielverlauf
profit({A,B}) = 0.42 berechnet aus statischen Software-Attributen
Schwellwert = 0.4
A B C D E F G H I J K L
A
B
C
D
E
F
G
H
I
J
K
L
AB AL BF DI EF JL
AB
AL
BF
DI
EF
JL
ABDI ALBF DIJL
ABDI
ALBF
DIJL
Ergebnis: {ABDIJL}, {ALBFDIJ}
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 13 / 17
Spielvarianten
Wir konnen zwei Parameter steuern:1 Wie schnell die Koalitionen wachsen.2 Wie sich die Große der Dimensionen verandert.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 14 / 17
Spielvarianten
Wir konnen zwei Parameter steuern:1 Wie schnell die Koalitionen wachsen.2 Wie sich die Große der Dimensionen verandert.
Symmetrische AchsenKoalitionen wachsen schnell. Einige Kleinere gehen aberverloren.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 14 / 17
Spielvarianten
Wir konnen zwei Parameter steuern:1 Wie schnell die Koalitionen wachsen.2 Wie sich die Große der Dimensionen verandert.
Nicht-symmetrische AchsenKoalitionen wachsen langsamer. Einige Großere gehenaber verloren. Mehr Profit-Werte zum berechnen.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 14 / 17
Spielvarianten
Wir konnen zwei Parameter steuern:1 Wie schnell die Koalitionen wachsen.2 Wie sich die Große der Dimensionen verandert.
Ohne Diagonal-ProdukteDimension(en) werden immer kleiner. Kleinere Koalitionenmit hohem Profit werden vergessen.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 14 / 17
Spielvarianten
Wir konnen zwei Parameter steuern:1 Wie schnell die Koalitionen wachsen.2 Wie sich die Große der Dimensionen verandert.
Mit Diagonal-ProduktenDimension(en) konnen wachsen. Kleinere Koalitionen mithohem Profit werden weiter propagiert.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 14 / 17
Spielvarianten
Wir konnen zwei Parameter steuern:1 Wie schnell die Koalitionen wachsen.2 Wie sich die Große der Dimensionen verandert.
Mit validen Diagonal-ProduktenDimension(en) wachsen langsamer oder gar nicht. Einigekleinere Koalitionen mit hohem Profit werden vergessen.
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 14 / 17
Nicht-kooperative Spieltheorie
Geht es auch nicht-kooperativ?
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 15 / 17
Nicht-kooperative Testing-Tasks
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17
Nicht-kooperative Testing-Tasks
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17
Nicht-kooperative Testing-Tasks
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17
Nicht-kooperative Testing-Tasks
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17
Zusammenfassung
Ziel 1: Verbesserte Voraussage-Modellefur nicht-funktionale Eigenschaftenauf Basis von Metriken und statischer Programmanalyse.Ziel 2: Effizienter Sampling-Ansatzauf Basis von Spieltheorie.
EvaluierungVergleich mit Heuristiken
Pair-wise, triple-wise, ...-wise.Hot Spot FeaturesDomanenwissen
Zeit vs. Prazision/Detektionsrate (s. Folien A. von Rhein)
Werkzeuge und Fallstudien:: erweiterbarer feature-orientierter Java-Compiler
(40 Java-SPLs): variability-aware type checking tool for C
(3 C-Projekte: Linux, busybox, Boa)
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 17 / 17
Zusammenfassung
Ziel 1: Verbesserte Voraussage-Modellefur nicht-funktionale Eigenschaftenauf Basis von Metriken und statischer Programmanalyse.Ziel 2: Effizienter Sampling-Ansatzauf Basis von Spieltheorie.
EvaluierungVergleich mit Heuristiken
Pair-wise, triple-wise, ...-wise.Hot Spot FeaturesDomanenwissen
Zeit vs. Prazision/Detektionsrate (s. Folien A. von Rhein)
Werkzeuge und Fallstudien:: erweiterbarer feature-orientierter Java-Compiler
(40 Java-SPLs): variability-aware type checking tool for C
(3 C-Projekte: Linux, busybox, Boa)
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 17 / 17
Zusammenfassung
Ziel 1: Verbesserte Voraussage-Modellefur nicht-funktionale Eigenschaftenauf Basis von Metriken und statischer Programmanalyse.Ziel 2: Effizienter Sampling-Ansatzauf Basis von Spieltheorie.
EvaluierungVergleich mit Heuristiken
Pair-wise, triple-wise, ...-wise.Hot Spot FeaturesDomanenwissen
Zeit vs. Prazision/Detektionsrate (s. Folien A. von Rhein)
Werkzeuge und Fallstudien:: erweiterbarer feature-orientierter Java-Compiler
(40 Java-SPLs): variability-aware type checking tool for C
(3 C-Projekte: Linux, busybox, Boa)
Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 17 / 17
top related