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

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Comparative Succinctness of KR Formalisms Paolo Liberatore.
Interactive Configuration
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Domain Engineering Silvio Romero de Lemos Meira
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
A failed attempt to optimize variable ordering with tools for Constraints Solving Edmund ClarkeOfer Strichman Carnegie Mellon University.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
Software Testing and Quality Assurance
3/25  Monday 3/31 st 11:30AM BYENG 210 Talk by Dana Nau Planning for Interactions among Autonomous Agents.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
1 Quantified Formulas Acknowledgement: QBF slides borrowed from S. Malik.
Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
Daniel Kroening and Ofer Strichman Decision Procedure
S.P.L.O.T. - Software Product Lines Online Tools ( Marcilio Mendonca, Moises Branco, Donald Cowan, University of Waterloo, Canada.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Themes of Presentations Rule-based systems/expert systems (Catie) Software Engineering (Khansiri) Fuzzy Logic (Mark) Configuration Systems (Sudhan) *
Boolean Satisfiability and SAT Solvers
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
Querying Structured Text in an XML Database By Xuemei Luo.
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.
On a random walk strategy for the Q2SAT problem K. Subramani.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Introduction to Software Engineering Lecture 1.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
FPGA PLB Evaluation using Quantified Boolean Satisfiability Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Boolean Satisfiability Present and Future
Declarative Programming in Java using JSetL E. PanegaiG. Rossi Dipartimento di Matematica Università di Parma Roma, Giugno 2005 Convegno Italiano.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 9: Test Generation from Models.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Error Explanation with Distance Metrics Authors: Alex Groce, Sagar Chaki, Daniel Kroening, and Ofer Strichman International Journal on Software Tools for.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
1 Computing Abstractions by integrating BDDs and SMT Solvers Alessandro Cimatti Fondazione Bruno Kessler, Trento, Italy Joint work with R. Cavada, A. Franzen,
P & NP.
Modern Systems Analysis and Design Third Edition
Planning as model checking, (OBDDs)
Recovering and Exploiting Structural Knowledge from CNF Formulas
Lecture 2 of Computer Science II
New Directions in the Development of ABC
Applying Logic Synthesis for Speeding Up SAT
A Boolean Paradigm in Multi-Valued Logic Synthesis
Introduction to Formal Verification
Modern Systems Analysis and Design Third Edition
SAT-Based Area Recovery in Technology Mapping
Binary Decision Diagrams
ECE 667 Synthesis and Verification of Digital Circuits
Automatic Verification of Industrial Designs
Chapter 34: NP-Completeness
Modern Systems Analysis and Design Third Edition
SAT-based Methods for Scalable Synthesis and Verification
Canonical Computation without Canonical Data Structure
CSE 589 Applied Algorithms Spring 1999
SAT-based Methods: Logic Synthesis and Technology Mapping
Program correctness Model-checking CTL
Alan Mishchenko Department of EECS UC Berkeley
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

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

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.

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.

Automatic Synthesis of Feature Models Step 1: DAG Hierarchy Recovery Step 2: Group and CTC Recovery

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.

Workflow Scenarios Scenario 1 Scenario 2 Scenario 3 Abstract Workflow

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

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].

Algorithm Most complex stages to compute are

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.

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.

Experiment (DNF vs BDD)

Experiment (CNF vs BDD)

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.

Tracing SPLs Precisely and Efficiently Article Review By: Yohai Vidergor & Sigal Berkovitz

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

Introduction Specification Implementation Traceability

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).

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.

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

Implements

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.

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).

SPL Properties Completeness Soundness Tentially/Universally Explicit Unique Implementation Common/Live/Dead

SPL Properties Superfluous Redundant Critical Extraneous

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.

Traceability Relations

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.