S.P.L.O.T. - Software Product Lines Online Tools (www.splot-research.org) Marcilio Mendonca, Moises Branco, Donald Cowan, University of Waterloo, Canada.

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
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.
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Configuration management
Interactive Configuration
Domain Engineering Silvio Romero de Lemos Meira
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
1 Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems Sathiamoorthy Subbarayan IT University of Copenhagen.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Panel on Decision Procedures Panel on Decision Procedures Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi.
Software Construction
Parallel Inclusion-based Points-to Analysis Mario Méndez-Lojo Augustine Mathew Keshav Pingali The University of Texas at Austin (USA) 1.
Software Engineering COMP 201
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
SAT-Based Decision Procedures for Subsets of First-Order Logic
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
Software Engineering for Safety : A Roadmap Presentation by: Manu D Vij CS 599 Software Engineering for Embedded Systems.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Stimulating reuse with an automated active code search tool Júlio Lins – André Santos (Advisor) –
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
Complex Security Policies Dave Andersen Advanced Operating Systems Georgia State University.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 17: Code Mining.
Hunt for Molecules, Paris, 2005-Sep-20 Software Development for ALMA Robert LUCAS IRAM Grenoble France.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
An Experimental Assessment of Semantic Web-based Integration Support - Industrial Interoperability Focus - Nenad Anicic, Nenad Ivezic, Serm Kulvatunyou.
Verifying the On-Line Help System of SIEMENS Magnetic Resonance Tomographs Carsten Sinz Wolfgang Küchlin WSI for Computer Science Symbolic Computation.
Boolean Satisfiability and SAT Solvers
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Lesson 6. GCSE Computing – programming languages Candidates should be able to:  describe common tools and facilities available in an integrated development.
Configuration Management (CM)
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Product Configuration is a Collaborative Task… Towards a Framework for Collaborative and Coordinated Product Configuration Marcilio Mendonca, Krzysztof.
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.
Lecture 3 Software Engineering Models (Cont.)
Benefits of Bounded Model Checking at an Industrial Setting F.Copty, L. Fix, R.Fraer, E.Giunchiglia*, G. Kamhi, A.Tacchella*, M.Y.Vardi** Intel Corp.,
1 A Heuristic Approach Towards Solving the Software Clustering Problem ICSM03 Brian S. Mitchell /
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Solving Problems by searching Well defined problems A probem is well defined if it is easy to automatically asses the validity (utility) of any proposed.
Fitting a Function to the Difficulty of Boolean Formulas Greg Dennis NMM Final Project.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Boolean Satisfiability Present and Future
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
1 Computing Abstractions by integrating BDDs and SMT Solvers Alessandro Cimatti Fondazione Bruno Kessler, Trento, Italy Joint work with R. Cavada, A. Franzen,
CASE Tools and their Effect on Software Quality
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
Hybrid BDD and All-SAT Method for Model Checking
Hardware Acceleration of A Boolean Satisfiability Solver
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
LPSAT: A Unified Approach to RTL Satisfiability
SAT-Based Area Recovery in Technology Mapping
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation without Canonical Data Structure
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Rich Model Toolkit – An Infrastructure for Reliable Computer Systems
Presentation transcript:

S.P.L.O.T. - Software Product Lines Online Tools ( Marcilio Mendonca, Moises Branco, Donald Cowan, University of Waterloo, Canada -  An integrated Web-based feature model edition, reasoning and configuration tool for Software Product Lines OOPSLA 2009 A R B CD Feature Model Variable Order: C,R,A,B,D Variable Order: R,D,A,C,B 12 nodes vs. 7 nodes S.P.L.O.T. is State-of-the-Art Research D → A Binary Decision DiagramsSAT Solvers (R) and (A or R) and (B or R) and (R or B) and … and (D or A) Online Feature Model Editor Feature Model Automated Analysis Feature-Based Interactive Configuration (BDD & SAT-based) Feature Model Repository Importance: Mature technique to reason on Boolean formulas Research Challenge: Space-Intractability of BDDs Question: How to reduce the size of BDDs for feature models? Importance: Mature technique to reason on constraint problems Research Challenge: Time-Intractability of SAT solvers Question: Is the observed efficiency of SAT solvers accidental? Research Contributions:  Identification of current limits and best overall heuristic (DFS)  Proposal of novel variable ordering heuristics for feature models  FMs twice as large can now be handled (1,000 vs. 2,500 features) Reference: M. Mendonca, A. Wasowski, K. Czarnecki, D. Cowan: Efficient Compilation Techniques for Large Scale Feature Models. In Proceedings of the 7th ACM International Conference on Generative Programming and Component Engineering (GPCE'08). Oct 2008, NashVille, USA. Research Contributions:  Empirical evidence of the tractability of SAT problems induced by realistic feature models  Proposal of benchmarks to test SAT-based tools Reference: M. Mendonca, A. Wasowski, K. Czarnecki: SAT-based Analysis of Feature Models is Easy. In Proceedings of the 13th International Software Product Line Conference (SPLC’09). Aug 2009, San Francisco, USA. SAT solver is efficient during feature model phase transition! SAT solver is efficient during cross-tree constraints phase transition! Feature Diagram Cross-tree Constraints (CTC) Translation to Logics Boolean Formula Key Features:  Provides a Web-based environment for constructing and debugging feature models  Integrates edition, analysis (debugging) and configuration into a single interface  Configure your (final/partial) feature model at any time  Export your model to the SXFM formal  Share your feature model with the research community  Check for consistency and detect “dead” features  Run analysis manually or after a number of edition steps have been performed  Realtime statistics are computed for your feature model Statistics  Total number of features  Number of features by type  Depth of feature diagram  CTCR (cross-tree constraints representativeness)  Number of cross-tree constraints  Number of distinct variables in the CTC  CTC Clause density  Number of CNF clauses generated for the model SAT-Based Analysis  Check feature model consistency  Compute dead features  Computer core (or common) features BDD-Based Analysis  Count total number of valid configurations  Compute the variability degree of feature models 1- Initial configuration state (core features automatically selected) 2- Manual selection of feature “HTML” 3- Manual selection of feature “Search by Language” Automatic propagation of feature “Page Translation” 4- Conflict detection for the case when feature “Page Translation” is toggled 5- Manual toggling of feature “Page Translation” affecting feature “Search by Language” 6- Configuration is completed automatically by the “Auto-completion” function Key Features:  30+ real feature models extracted from relevant sources  Several collections of automatically-generated feature models  Feature Model Generator for customized model generation [1..*] Complete Reference: Efficient Reasoning Techniques for Large-Scale Feature Models, Marcilio Mendonca, PhD Thesis, University of Waterloo, Canada, January, 2009 ( Equivalent BDDs but different sizes for different top-down variable orders