Download presentation
Presentation is loading. Please wait.
Published byJunior Allen Modified over 9 years ago
1
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor
2
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
3
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.
4
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.
5
Automatic Synthesis of Feature Models Step 1: DAG Hierarchy Recovery Step 2: Group and CTC Recovery
6
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.
7
Workflow Scenarios Scenario 1 Scenario 2 Scenario 3 Abstract Workflow
8
Algorithm The algorithm synthesizes a diagrammatic representation of all possible feature diagrams that are compatible with the input constraints = Feature Graph.
9
Algorithm This 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].
10
Algorithm Most complex stages to compute are 11-13.
11
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.
12
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.
13
Experiment (DNF vs BDD)
14
Experiment (CNF vs BDD)
15
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.
16
Tracing SPLs Precisely and Efficiently Article Review By: Yohai Vidergor & Sigal Berkovitz
17
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
18
Introduction Specification Implementation Traceability
19
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).
20
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.
21
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
22
Implements
23
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.
24
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).
25
SPL Properties Completeness Soundness Tentially/Universally Explicit Unique Implementation Common/Live/Dead
26
SPL Properties Superfluous Redundant Critical Extraneous
29
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.
30
Traceability Relations
31
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.