14
Evaluierung von Verifikations- Strategien für Produktlinien Alexander von Rhein Universität Passau in Kooperation mit: Sven Apel, Philipp Wendler, Hendrik Speidel, Armin Größlinger, Dirk Beyer und Franco Raimondi

Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

  • Upload
    lythien

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Evaluierung von Verifikations-Strategien für Produktlinien

Alexander von Rhein Universität Passau

in Kooperation mit:

Sven Apel, Philipp Wendler, Hendrik Speidel, Armin Größlinger, Dirk Beyer und Franco Raimondi

Page 2: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 2 FOSD Treffen 2012

Übersicht

Verifikation von Produktlinien Entspricht das Verhalten aller Produkte ihrer Spezifikation? Ansatz: Model Checking

Verifikation der gesamten Produktlinie (3 Strategien)

Produkt-basiert, Auswahl-basiert, Familien-basiert

3 Fallstudien E-mail Elevator Mine pump

Page 3: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 3 FOSD Treffen 2012

Strategien: Produkt-basiert

Page 4: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 4 FOSD Treffen 2012

Strategien: Auswahl-basiert

Page 5: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 5 FOSD Treffen 2012

Details: Auswahl Verfahren

Single-wise Für jedes Feature: Nimm eines der kleinsten Produkte,

welches das Feature enthält Pair-wise

Für jede Kombination aus 2 Features: Nimm eines der kleinsten Produkte, welches die Kombination enthält

Three-wise Für jede Kombination aus 3 Features: Nimm eines der

kleinsten Produkte, welches die Kombination enthält

Page 6: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 6 FOSD Treffen 2012

Strategien: Familien-basiert

Page 7: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 7 FOSD Treffen 2012

Details: BDD-Optimierung für Familien-basierte Verifikation

[Encryption]

[Forward] [¬ Forward]

[¬ Encryption]

[Forward] [¬ Forward]

... ...

... ...

[Encryption]

[Forward] [¬ Forward]

[¬ Encryption]

[Forward] [¬ Forward]

... ...

... ...

[Encryption]

[Forward]

[¬ Encryption]

[Enc ˄ ¬Forward ˅ ¬Enc ˄ Forward]

[¬ Forward]

... ...

...

Effekt: durchschnittlich 4 mal schneller als ohne Optimierung (Speedup=alt/neu, gemessen für die Fallstudien)

Auf Basis von [Classen, ICSE 2011]

Page 8: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 8 FOSD Treffen 2012

Experimente

Vergleich der Strategien auf unseren Produktlinien Welche ist die Beste?

Welche findet die meisten Defekte? Welche ist am schnellsten?

System Sprache LOC Features Spezifikationen

Produkte

E-mail Java 1233 9 9 40

C 258 9 9 40

Elevator Java 1046 6 9 20

C 877 6 6 20

Mine pump

Java 580 7 5 64

C 279 7 5 64

Testsystem

CPU Intel i7-2600 @ 3.40 GHz

Arbeitsspeicher 15 GB

OS Ubuntu 11.10

Page 9: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 9 FOSD Treffen 2012

Verifikationszeit

Produkt-basiert = 100% Familien-basiert und Auswahl-basiert sind schneller als

Produkt-basiert Aber: Auswahl findet nicht alle Defekte (nächste Folie)

Page 10: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 10 FOSD Treffen 2012

Verifikationszeit vs. Detektionsrate

Detektionsrate := gefundene Defekte / tatsächliche Defekte Optimal wäre: Detektionsrate > Zeit-Anteil

“Triple-wise” ist am Besten (auf diesen Fallstudien)

Page 11: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 11 FOSD Treffen 2012

Effizienzfaktor

Effizienzfaktor := Detektionsrate / Zeitrate Produkt-basiert als Berechnungsbasis Effizienzfaktor = 1 => wie Produkt-basiert Effizienzfaktor > 1 => besser als Produkt-basiert

Ähnlichkeitsfaktor

Page 12: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 12 FOSD Treffen 2012

Future work

Produkt

Produkt Sim

Produkt Sim

Produkt Sim

Produkt Sim

Modulgröße

Familiengröße

Auswahl- strategie

Page 13: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 13 FOSD Treffen 2012

Familien-basiert ist fast immer überlegen hängt aber von der Produktlinie ab (Ähnlichkeitsgrad)

Auswahl-basiert ist zwar schneller, aber nicht effizienter!

Page 14: Evaluierung von Verifikations- Strategien für Produktlinien · Evaluierung von Verifikations-Strategien für Produktlinien Alexander von Rhein Universität Passau . in Kooperation

Alexander von Rhein Evaluierung von Produktlinien Verifikations-Strategien

Folie - 14 FOSD Treffen 2012

Ähnlichkeitsgrad

Die Effizienz von Familien-basierte Verifikation schwankt je nach Produktlinie Warum ist das so? Gibt es eine “Metrik”?

Anzahl der Programmzustände hat einen großen Einfluss. Ansatz:

1. Zählen der Kernvariablen im Programmcode 2. Schätzung der Zustände für Produkte und Produktsimulator

3. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑑𝑑𝑑𝑠𝑑𝑑 = 1 − 𝑍𝑍𝑍𝑍𝑍𝑍𝑍𝑍 𝑃𝑃𝑃𝑍𝑍𝑃𝑍𝑍𝑃𝑃𝑍𝑃𝑃𝑍𝑃𝑃∑ 𝑍𝑍𝑍𝑍𝑍𝑍𝑍𝑍 𝑃𝑃𝑃𝑍𝑍𝑃𝑍𝑍