Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler...

49
Vorhersage von nicht-funktionalen Feature-Interaktionen Sergiy Kolesnikov, Semah Senkaya, Sven Apel Universit ¨ at Passau Braunschweig 21.03.2012 In Kooperation mit: Norbert Siegmund, Stefan Sobernig, J¨ org Liebig Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universit ¨ at Passau 1 / 17

Transcript of Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler...

Page 1: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 2: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 3: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 4: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 5: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 6: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 7: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 8: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 9: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Beispiel: Centrality

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 5 / 17

Page 10: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Beispiel: Centrality

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 5 / 17

Page 11: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Beispiel: Centrality

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 5 / 17

Page 12: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Vorhersagekraft von statischen Software-Attributen

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 6 / 17

Page 13: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Vorhersagekraft von statischen Software-Attributen

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 6 / 17

Page 14: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 15: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 16: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Predictor

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 8 / 17

Page 17: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Predictor

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 8 / 17

Page 18: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Ziel 1 der Arbeit

Einfach Komplex

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 9 / 17

Page 19: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 20: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 21: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Spieltheorie

Ein kooperatives spieltheoretisches Framework fur Sampling

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 11 / 17

Page 22: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 23: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 24: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 25: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 26: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 27: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 28: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 29: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 30: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 31: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 32: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 33: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 34: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 35: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 36: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 37: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 38: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 39: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 40: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 41: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 42: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Nicht-kooperative Spieltheorie

Geht es auch nicht-kooperativ?

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 15 / 17

Page 43: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Nicht-kooperative Testing-Tasks

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17

Page 44: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Nicht-kooperative Testing-Tasks

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17

Page 45: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Nicht-kooperative Testing-Tasks

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17

Page 46: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

Nicht-kooperative Testing-Tasks

Nicht-funktionale Feature-Interaktionen :: Sergiy Kolesnikov, Semah Senkaya, Sven Apel :: Universitat Passau 16 / 17

Page 47: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 48: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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

Page 49: Vorhersage von nicht-funktionalen Feature-Interaktionen · Motivation Bestimmung nicht-funktionaler Eigenschaften eines Produktes. Klassische Methode: messe jedes einzelne Produkt.

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