Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

31
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor

Transcript of Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Page 1: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Efficient Synthesis of Feature Models

Article Review By:Sigal Berkovitz & Yohai Vidergor

Page 2: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Basic Terminology

• CNF - Conjunctive Notation Form

• DNF - Disjunctive Notation Form

• BDD - Binary Decision Diagrams

• CVL - Common Variability Language

• DAG - Directed Acyclic Graph

• CTC - Cross Tree Constraint

• FGE - Feature Graph Extraction

Page 3: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Introduction

This paper addresses the problem of synthesis of feature models, which is the core algorithmic part of reverse engineering: to synthesize a feature model from a given set of dependencies.

Page 4: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Variability Modeling

Variability models are central to development and management of software product lines (SPL).

Feature models are one of the prominent notations used in variability modeling and will also be part of the CVL standard.

Page 5: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Automatic Synthesis of Feature Models

Step 1: DAG Hierarchy Recovery

Step 2: Group and CTC Recovery

Page 6: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Based on CNF / DNF Formulae

• The first step, DAG hierarchy recovery, takes the input

formula in either CNF or DNF, and produces a DAG that

contains all possible FM tree hierarchies.

• The second step, identifies all feature groups and CTCs

given the propositional formula, DAG and an optional tree

hierarchy. This step outputs a FM or a FG depending on

whether a tree hierarchy is provided as input or is not.

Page 7: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Workflow Scenarios

• Scenario 1

• Scenario 2

• Scenario 3

• Abstract Workflow

Page 8: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Algorithm

The algorithm synthesizes a diagrammatic representation of all possible feature diagrams that are compatible with the input constraints = Feature Graph.

Page 9: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

AlgorithmThis algorithm was first introduced by Czarnecki and Wasowski and assumed the use of binary decision diagrams (BDDs) for reasoning.

This article’s contribution is the adaptation of this algorithm to support reasoning with a SAT solver on input in CNF and DNF[1].

Page 10: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Algorithm

Most complex stages to

compute are 11-13.

Page 11: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

FGE - DNF vs FGE - CNF

Even though synthesis of or-groups is harder for CNF than for DNF, studying algorithms assuming CNF on input remains relevant.

Uses SAT solver.

Page 12: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Experiment

They implemented the algorithm using a open source SAT solver java interface, took feature models translated to CNF, DNF & BDD from a feature model repository and executed the algorithm with CNF vs BDD and DNF vs BDD.

Page 13: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Experiment (DNF vs BDD)

Page 14: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Experiment (CNF vs BDD)

Page 15: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Conclusions

• CNF based FGE can store more features than BDD(5000 vs 2000 features).

• CNF/DNF based FGE is at least 10 times

faster than previously known algorithms.

Page 16: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Tracing SPLs Precisely and Efficiently

Article Review By:Yohai Vidergor & Sigal Berkovitz

Page 17: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Terminology

SPL - Software Product Line

Scope- collection of features

Core Assets- collection of reusable components

QBF - Quantified Boolean Formulae

OVM - Orthogonal Variability Model

QSAT – Quantified SAT

Page 18: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Introduction

Specification

Implementation

Traceability

Page 19: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Introduction

in this article they address the problem of traceability between specifications and implementation in SPLs.

They talk about other articles in that field and explain why most of them don’t cover the “implement” relation between specification and implementation (and others as well).

Page 20: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Traceability (SAT vs QSAT)

One article which does talk about traceability between specification and implementation.

It uses other techniques (SAT) and they explain why it needs to be improved and how they did it with the new technique (QSAT) they show in this article.

Page 21: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Traceability & Implementation

All the PL features = Scope

Set of feature = Specification

All specifications = PL specification

All the PL components = Core Assets

Set of components = Implementation

All implementations = PL implementation

Page 22: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Implements

Page 23: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Realizes

In the above example, the implementation C1 realizes the specification {f1,f2} but it does not realize {f1} even though it provides the implementation of {f1}.

*Solves the packaging of components issue of the other techniques.

Page 24: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Covers & SPL Products

Covers - The set of products of the SPL are now defined as the specifications, and the implementation covering them through the traceability relation.

SPL Product - All specification-implementation pairs (F,C) where Covers(C, F).

Page 25: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

SPL Properties

Completeness

Soundness

Tentially/Universally Explicit

Unique Implementation

Common/Live/Dead

Page 26: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

SPL Properties

Superfluous

Redundant

Critical

Extraneous

Page 27: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
Page 28: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
Page 29: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

SPLE

To check satisfiability of QBFs for SPL analysis they used a tool that receives the formula and returns true/false. They developed a tool (SPLE) that takes as input an SPL and runs the formulas using the CirQit tool to verify them.

Page 30: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Traceability Relations

Page 31: Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.

Conclusion

• New definition for products in SPLs.

• Defined a set of analysis problems for SPLs.

• Formulated this problems to QBFs and

solved them with QSAT tools.

• QSAT is more efficient than SAT.