Usage Scenarios for Feature Model Synthesis.

Size: px
Start display at page:

Download "Usage Scenarios for Feature Model Synthesis."

Transcription

1 Usage Scenarios for Feature Model Synthesis Steven She, Krzysztof Czarnecki, Andrzej Wasowski University of Waterloo IT University of Copenhagen September 30, 2012

2 Why Synthesize a Feature Model? Variability is o en scattered over multiple artifacts in large so ware projects NOTES ddbc STACK enables the stack(9) facility stack(9) will also be compiled in automatically if DDB(4) is compiled into the kernel #ifdef DDB #ifndef KDB #error KDB must be enabled for DDB to work! #endif #endif S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 2 / 36

3 Why Synthesize a Feature Model? (cont) Linux Configurator ecos Configurator A feature model provides an overview of variability in the so ware system Automated tool support and product configuration S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 3 / 36

4 Feature Models Feature models describe the common and variable product characteristics of products in a product line Phone Processor NFC Camera 4G ARM OMAP Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 4 / 36

5 Feature Models Feature models describe the common and variable product characteristics of products in a product line Phone Processor NFC Camera 4G ARM OMAP Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 4 / 36

6 Feature Models Feature models describe the common and variable product characteristics of products in a product line Phone Processor NFC Camera 4G ARM OMAP Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 4 / 36

7 Feature Models Feature models describe the common and variable product characteristics of products in a product line Phone Processor NFC Camera 4G ARM OMAP Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 4 / 36

8 Feature Models Feature models describe the common and variable product characteristics of products in a product line Phone Processor NFC Camera 4G ARM OMAP Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 4 / 36

9 Feature Models Feature models describe the common and variable product characteristics of products in a product line Phone Processor NFC Camera 4G ARM OMAP Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 4 / 36

10 Feature Models Feature models describe the common and variable product characteristics of products in a product line Phone Processor NFC Camera 4G ARM OMAP Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 4 / 36

11 Feature Model Synthesis Features Configs or Dependencies Feature Model Synthesis Feature Model {Phone, Processor, ARM, Snapdragon, NFC} Phone (4G NFC Phone) (Processor Phone) (ARM Snapdragon Processor) (4G Snapdragon) (ARM Snapdragon) Processor NFC 4G ARM Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 5 / 36

12 Feature Model Synthesis Features Configs or Dependencies Feature Model Synthesis Feature Model {Phone, Processor, ARM, Snapdragon, NFC} Phone (4G NFC Phone) (Processor Phone) (ARM Snapdragon Processor) (4G Snapdragon) (ARM Snapdragon) Processor NFC 4G ARM Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 5 / 36

13 Feature Model Synthesis Artifacts with Variability Features Feature Model Synthesis Analysis Configs or Dependencies Feature Model {Phone, Processor, ARM, Snapdragon, NFC} Phone (4G NFC Phone) (Processor Phone) (ARM Snapdragon Processor) (4G Snapdragon) (ARM Snapdragon) Processor NFC 4G ARM Snapdragon implies S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 5 / 36

14 Artifacts with Variability Documentation DOORS Requirements README ddbc Source Code Makefile Build System FM Feature Model program 1 program 2 program 3 Clone-and-Own Code and more S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 6 / 36

15 Artifacts with Variability Documentation DOORS Requirements README ddbc Source Code Makefile Build System FM Feature Model program 1 program 2 program 3 Clone-and-Own Code and more Many different kinds of input artifacts, each requiring specialized analysis S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 6 / 36

16 Workflow for Feature Model Synthesis Artifacts with Variability Dependencies or Configurations Features Analysis Feature Model Synthesis Feature Model User Input Analysis recovers the abstract input needed for feature model synthesis from the input artifacts Feature model synthesis builds a FM given the abstract input S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 7 / 36

17 Challenges of Feature Model Synthesis Which feature model describes features {A, B, C}, and the following constraints: A A B A C A C B Ḃ C B implies C (a) (b) Both! Different feature models can describe the same set of configurations (or dependencies) S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 8 / 36

18 Challenges of Feature Model Synthesis Which feature model describes features {A, B, C}, and the following constraints: A A B A C A C B Ḃ C B implies C (a) (b) Both! Different feature models can describe the same set of configurations (or dependencies) S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 8 / 36

19 Workflow for Feature Model Synthesis Artifacts with Variability Dependencies or Configurations Features Analysis Feature Model Synthesis Supplemental Information Feature Model User Input User Input, Heuristics Supplemental information, user input or heuristics can be used to select a distinct feature model S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 9 / 36

20 Workflow for Feature Model Synthesis Artifacts with Variability Dependencies or Configurations Features Analysis Feature Model Synthesis Supplemental Information Feature Model User Input User Input, Heuristics S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 9 / 36

21 Outline 1 Overview of Feature Model Synthesis 2 Scenario Criteria 3 Scenarios 4 Discussion and Conclusions S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 10 / 36

22 Outline 1 Overview of Feature Model Synthesis 2 Scenario Criteria 3 Scenarios 4 Discussion and Conclusions S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 11 / 36

23 Scenario Criteria 1 Input Artifacts 2 Precision of Configuration Analysis 3 Required Synthesis Precision 4 Size S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 12 / 36

24 Input Artifacts Variability Abstraction Abstraction-Realization Interface Variability Realization Variable Artifacts Feature model VPs and feature-to-vp mapping Configurable platform requirements, models, code, etc Instances Feature configs VP configs Variants requirements, models, code, etc S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 13 / 36

25 Precision of Configuration Analysis Configurations represented by the input artifacts Configurations recovered through analysis Analysis S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 14 / 36

26 Precision of Configuration Analysis Configurations represented by the input artifacts Configurations recovered through analysis Analysis Sound and complete (exact) recovery S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 14 / 36

27 Precision of Configuration Analysis Configurations represented by the input artifacts Configurations recovered through analysis Analysis Sound recovery (under approximation) S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 14 / 36

28 Precision of Configuration Analysis Configurations represented by the input artifacts Configurations recovered through analysis Analysis Complete recovery (over approximation) S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 14 / 36

29 Precision of Configuration Analysis Configurations represented by the input artifacts Configurations recovered through analysis Analysis Arbitrary recovery S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 14 / 36

30 Required Synthesis Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis FM Synthesis S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 15 / 36

31 Required Synthesis Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis FM Synthesis S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 15 / 36

32 Required Synthesis Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis FM Synthesis S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 15 / 36

33 Required Synthesis Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis FM Synthesis Sound and complete (exact) recovery S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 15 / 36

34 Required Synthesis Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis FM Synthesis Sound recovery (under approximation) S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 15 / 36

35 Required Synthesis Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis FM Synthesis Complete recovery (over approximation) S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 15 / 36

36 Required Synthesis Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis FM Synthesis Arbitrary recovery S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 15 / 36

37 Size Classified size of a scenario by estimating the number of features required for synthesis Based on SPLOT s model repository¹ and a collection of FMs gathered from the system s domain Small Several hundred features Medium Thousand features Large Several thousand features ¹ S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 16 / 36

38 Outline 1 Overview of Feature Model Synthesis 2 Scenario Criteria 3 Scenarios Scenario 1: From a Configurable Platform Scenario 2: From a Set of Variants Scenario 3: Feature Model Operations Scenario 4: Feature Model Merge Workflows 4 Discussion and Conclusions S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 17 / 36

39 Workflow for Feature Model Synthesis Artifacts with Variability Dependencies or Configurations Features Analysis Feature Model Synthesis Supplemental Information Feature Model User Input User Input, Heuristics S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 18 / 36

40 Scenario Outline Scenario 1: From a Configurable Platform Variability Abstraction Abstraction-Realization Interface Variability Realization Variable Artifacts Feature model VPs and feature-to-vp mapping Configurable platform requirements, models, code, etc Instances Feature configs VP configs Variants requirements, models, code, etc S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 19 / 36

41 Configurable Platform (Code) ddbc #ifdef DDB #ifndef KDB #error KDB must be enabled for DDB to work! #endif #endif Configurable Platform Analysis VPs Features Static Feature FM Deps Deps Analysis Abstraction Synthesis FM User Input User Input Scenario for synthesizing a FM for FreeBSD (She et al 2011) S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 20 / 36

42 Configurable Platform (Code): Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis Complete Recovery FM Synthesis Sound Recovery S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 21 / 36

43 Configurable Platform (Requirements) REQS Req 1 Product A must have Feature X, while Product B may optionally implement Feature X Every product must have Feature Y Req 2 S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 22 / 36

44 Scenario Outline Scenario 2: From a Set of Variants Variability Abstraction Abstraction-Realization Interface Variability Realization Variable Artifacts Feature model VPs and feature-to-vp mapping Configurable platform requirements, models, code, etc Instances Feature configs VP configs Variants requirements, models, code, etc S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 23 / 36

45 Variants (Models) Student Model name: String 1 Model age: Int 2 degree: String Student name: String age: Int program: String Variation Point (Alternatives) (Ryssel et al 2012) developed model matching on SimuLink models (Rubin et al 2012) developed model matching on UML state charts and class diagrams S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 24 / 36

46 Variants (Requirements) REQS for Product A Req 1 Product A has a MP3 player and a break system Req 2 REQS for Product B Req 1 Product B has a 6-disc CD player and a break system Req 2 Experience reported at an automotive company VPs were manually identified between requirements documents S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 25 / 36

47 Variants (Code) class Calculator { Code def add(x,y) { } A Code B def subtract(x,y) { } } class Calculator { def add(x,y) { } def subtract(x,y) { } def multiply(x,y) { } } (Jepsen et al 2007) report building a FM from products built with clone-and-own code variants at Danfoss drives S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 26 / 36

48 Variant Workflows Variants Analysis VPs Features Variant Diff Feature FM and VP Feature Configs Abstraction Configs Synthesis Analysis FM User Input User Input User Input (Scenario 2a, 2b, 2c) Variants (requirements, models, and code) Additional scenario involving VP configs in the paper S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 27 / 36

49 Scenario Outline Scenario 3: Feature Model Operations Variability Abstraction Abstraction-Realization Interface Variability Realization Variable Artifacts Feature model VPs and feature-to-vp mapping Configurable platform requirements, models, code, etc Instances Feature configs VP configs Variants requirements, models, code, etc S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 28 / 36

50 Feature Model Operations SPL 1 FM 1 FM 2 A B A SPL 2 C FM SPL 1 SPL 2 A B C S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 29 / 36

51 Feature Model Operations Workflow Set of FMs Analysis Features Features Logic Logic Modified FM Deps Translation Operation Deps Synthesis FM Tree FM Merge Heuristics FM Hierarchy Selection (Scenario 3) Feature model operations (Acher 2011) s thesis work was based on this scenario (Fahrenberg et al 2011) also described similar operations on models using FMs as an example S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 30 / 36

52 Feature Model Operations: Precision Configs represented by the input artifacts Configs recovered through analysis Configs represented in the feature model Analysis Sound Recovery FM Synthesis Exact Recovery S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 31 / 36

53 Scenario Outline Scenario 4: Feature Model Merge Workflows Variability Abstraction Abstraction-Realization Interface Variability Realization Variable Artifacts Feature model VPs and feature-to-vp mapping Configurable platform requirements, models, code, etc Instances Feature configs VP configs Variants requirements, models, code, etc S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 32 / 36

54 Feature Model Merge Workflows Product descriptions (Acher et al 2012) Requirements Docs or Product Descriptions Product Analysis FMs and FM Merge FM Synthesis FM User Input, Clustering Heuristic S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 33 / 36

55 Outline 1 Overview of Feature Model Synthesis 2 Scenario Criteria 3 Scenarios 4 Discussion and Conclusions S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 34 / 36

56 Discussion Analysis of variable artifacts recover dependencies, while variants recover sets of VP or feature configurations Alternatively, FMs can be used as input (eg FM operations and merge) Heuristics or user input can be used to select a distinct hierarchy for the FM depending on the scenario Additional configurations recovered by a complete analysis could be pruned with a sound synthesis and vice versa S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 35 / 36

57 Conclusions FM synthesis is required in a wide range of scenarios with significantly different input artifacts Different input artifacts require different analysis techniques and synthesis workflows Scenarios can be used for a qualitative evaluation of FM synthesis techniques Usage scenarios provide requirements for synthesis techniques S She, K Czarnecki, A Wasowski Usage Scenarios forfeature Model Synthesis 36 / 36

Generating Tests for Detecting Faults in Feature Models

Generating Tests for Detecting Faults in Feature Models Generating Tests for Detecting Faults in Feature Models Paolo Arcaini 1, Angelo Gargantini 2, Paolo Vavassori 2 1 Charles University in Prague, Czech Republic 2 University of Bergamo, Italy Outline Feature

More information

Migration of Legacy Systems to Software Product Lines

Migration of Legacy Systems to Software Product Lines Model D Driven Development and Product Lines Migration of Legacy Systems to Software Product Lines Dr., pure-systems GmbH danilo.beuche@pure-systems.com Overview Introduction Starting a Software Product

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

Re-engineering Software Variants into Software Product Line

Re-engineering Software Variants into Software Product Line Re-engineering Software Variants into Software Product Line Présentation extraite de la soutenance de thèse de M. Ra'Fat AL-Msie'Deen University of Montpellier Software product variants 1. Software product

More information

Towards a Catalog of Variability Evolution Patterns: The Linux Kernel Case

Towards a Catalog of Variability Evolution Patterns: The Linux Kernel Case Towards a Catalog of Variability Evolution atterns: The Linux Kernel Case Leonardo assos University of Waterloo lpassos@gsd.uwaterloo.ca Krzysztof Czarnecki University of Waterloo kczarnec@gsd.uwaterloo.ca

More information

Usually software system variants, developed by Clone-and-own approach, form

Usually software system variants, developed by Clone-and-own approach, form ABSTRACT Usually software system variants, developed by Clone-and-own approach, form a starting point for building Software Product Line. To migrate software systems which are deemed similar to a product

More information

Where do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study

Where do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study GSDLAB TECHNICAL REPORT Where do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study Sarah Nadi, Thorsten Berger, Christian Kästner, Krzysztof Czarnecki GSDLAB TR 2015 01

More information

Gitting things done. Hands-on introduction to git niceties. Jan Urbański Ducksboard

Gitting things done. Hands-on introduction to git niceties. Jan Urbański Ducksboard Gitting things done Hands-on introduction to git niceties Jan Urbański jan@ducksboard.com Ducksboard Atlassian Git Party, Madrid, September 25, 2012 Jan Urbański (Ducksboard) Gitting things done Atlassian

More information

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Chapter 8 The Enhanced Entity- Relationship (EER) Model Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization

More information

Crash Course in C++ R F L Evans. www-users.york.ac.uk/~rfle500/

Crash Course in C++ R F L Evans. www-users.york.ac.uk/~rfle500/ Crash Course in C++ R F L Evans www-users.york.ac.uk/~rfle500/ Course overview Lecture 1 - Introduction to C++ Lecture 2 - Functions and Data Lecture 3 - Namespaces and Files Lecture 4 - Code Organization

More information

MRCP. Installation Manual. Developer Guide. Powered by Universal Speech Solutions LLC

MRCP. Installation Manual. Developer Guide. Powered by Universal Speech Solutions LLC Powered by Universal Speech Solutions LLC MRCP Installation Manual Developer Guide Revision: 39 Last updated: August 28, 2017 Created by: Arsen Chaloyan Universal Speech Solutions LLC Overview 1 Table

More information

An Overview of Techniques for Detecting Software Variability Concepts in Source Code

An Overview of Techniques for Detecting Software Variability Concepts in Source Code 1/30 An Overview of Techniques for Detecting Software Variability Concepts in Source Code Angela Lozano Université catholique de Louvain, Belgium 2/30 Variability Customized and Affordable Maximize reuse

More information

Mining Kbuild to Detect Variability Anomalies in Linux

Mining Kbuild to Detect Variability Anomalies in Linux 2012 16th European Conference on Software Maintenance and Reengineering Mining Kbuild to Detect Variability Anomalies in Linux Sarah Nadi and Ric Holt David R. Cheriton School of Computer Science University

More information

Revision Control. An Introduction Using Git 1/15

Revision Control. An Introduction Using Git 1/15 Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?

More information

Practical C Programming

Practical C Programming Practical C Programming Advanced Preprocessor # - quotes a string ## - concatenates things #pragma h3p://gcc.gnu.org/onlinedocs/cpp/pragmas.html #warn #error Defined Constants Macro FILE LINE DATE TIME

More information

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria 21-Nov-2013 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline General

More information

Embedded System Design and Modeling EE382N.23, Fall 2015

Embedded System Design and Modeling EE382N.23, Fall 2015 Embedded System Design and Modeling EE382N.23, Fall 2015 Lab #3 Exploration Part (a) due: November 11, 2015 (11:59pm) Part (b) due: November 18, 2015 (11:59pm) Part (c)+(d) due: November 25, 2015 (11:59pm)

More information

Enabling Variability-Aware Software Tools. Paul Gazzillo New York University

Enabling Variability-Aware Software Tools. Paul Gazzillo New York University Enabling Variability-Aware Software Tools Paul Gazzillo New York University We Need Better C Tools Linux and other critical systems written in C Need source code browsers 20,000+ compilation units, 10+

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

Feature Modeling. Krzysztof Czarnecki & Simon Helsen University of Waterloo

Feature Modeling. Krzysztof Czarnecki & Simon Helsen University of Waterloo Feature Modeling Krzysztof Czarnecki & Simon Helsen University of Waterloo czarnecki@acm.org www.generative-programming.org Overview Basic Feature Modeling Concepts Exercise AmiEddi-XML 1.3 Captain Feature

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

AGL Reference Hardware Specification Document

AGL Reference Hardware Specification Document AGL Reference Hardware Specification Document 2017/10/18 Ver 0.1.0 1 Change History Version Date 0.1.0 2017/10/18 The first edition 2 Index 1. AGL Reference Hardware overview... 5 1.1. Goals of AGL Reference

More information

Synthesis and Exploration of Multi- Level, Multi-Perspective Architectures of Automotive Embedded Systems

Synthesis and Exploration of Multi- Level, Multi-Perspective Architectures of Automotive Embedded Systems Synthesis and Exploration of Multi- Level, Multi-Perspective Architectures of Automotive Embedded Systems Jordan Ross, Alexandr Murashkin, Jia Hui Liang, Michał Antkiewicz, Krzysztof Czarnecki September

More information

Product Line Architectures (PLAs) using Change-Sets and Relationships

Product Line Architectures (PLAs) using Change-Sets and Relationships Modeling and Evolving Software Product Line Architectures (PLAs) using Change-Sets and Relationships Scott A. Hendrickson School of Information and Computer Sciences University of California, Irvine Architecture-Centric

More information

Feature-Oriented Software Evolution

Feature-Oriented Software Evolution Feature-Oriented Software Evolution Leonardo Passos Krzysztof Czarnecki University of Waterloo University of Waterloo lpassos@gsd.uwaterloo.ca kczarnec@gsd.uwaterloo.ca Sven Apel University of Passau apel@fim.unipassau.de

More information

Modeling Databases Using UML

Modeling Databases Using UML Modeling Databases Using UML Fall 2017, Lecture 4 There is nothing worse than a sharp image of a fuzzy concept. Ansel Adams 1 Software to be used in this Chapter Star UML http://www.mysql.com/products/workbench/

More information

VITAL: Variability Improvement Analysis of Software Product Line Infrastructure

VITAL: Variability Improvement Analysis of Software Product Line Infrastructure FOSD Meeting 2014 VITAL: Variability Improvement Analysis of Software Product Line Infrastructure Bo Zhang University of Kaiserslautern Kaiserslautern, Germany bo.zhang@cs.uni-kl.de 2014-05-05 Context

More information

SOFTWARE PRODUCT LINES: CONCEPTS AND IMPLEMENTATION QUALITY ASSURANCE: SAMPLING

SOFTWARE PRODUCT LINES: CONCEPTS AND IMPLEMENTATION QUALITY ASSURANCE: SAMPLING 1 17-708 SOFTWARE PRODUCT LINES: CONCEPTS AND IMPLEMENTATION QUALITY ASSURANCE: SAMPLING CHRISTIAN KAESTNER CARNEGIE MELLON UNIVERSITY INSTITUTE FOR SOFTWARE RESEARCH READING ASSIGNMENT NOV 16 Textbook

More information

CSE 160: Introduction to Parallel Computation

CSE 160: Introduction to Parallel Computation CSE 160: Introduction to Parallel Computation Discussion Section SVN Tutorial Based primarily on material provided by Ingolf Krueger Contributions made by Jing Zheng, Yashodhan Karandikar, and Scott B.

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

A FRAMEWORK FOR SIMULATION PROCESS MANAGEMENT AND DATA MINING

A FRAMEWORK FOR SIMULATION PROCESS MANAGEMENT AND DATA MINING A FRAMEWORK FOR SIMULATION PROCESS MANAGEMENT AND DATA MINING Dipl.-Ing C. Schöne (GNS-mbh, Germany), MSc. R. Iza-Teran, Prof. Dr. J. Garcke (Fraunhofer Institute SCAI, Germany). Prof. Dr. J. Garcke, Head

More information

Visual Analytics Tools for the Global Change Assessment Model. Michael Steptoe, Ross Maciejewski, & Robert Link Arizona State University

Visual Analytics Tools for the Global Change Assessment Model. Michael Steptoe, Ross Maciejewski, & Robert Link Arizona State University Visual Analytics Tools for the Global Change Assessment Model Michael Steptoe, Ross Maciejewski, & Robert Link Arizona State University GCAM Simulation When exploring the impact of various conditions or

More information

Why CART Works for Variability-Aware Performance Prediction? An Empirical Study on Performance Distributions

Why CART Works for Variability-Aware Performance Prediction? An Empirical Study on Performance Distributions GSDLAB TECHNICAL REPORT Why CART Works for Variability-Aware Performance Prediction? An Empirical Study on Performance Distributions Jianmei Guo, Krzysztof Czarnecki, Sven Apel, Norbert Siegmund, Andrzej

More information

Managing Product Variants by Project Centralization

Managing Product Variants by Project Centralization Managing Product Variants by Project Centralization Lei Ma, Cyrille Artho, and Hiroyuki Sato Abstract Many software systems are evolving continuously. The changes are reflected in a sequence of revised

More information

Using Deep Learning to Generate Human-like Code

Using Deep Learning to Generate Human-like Code Using Deep Learning to Generate Human-like Code Synthesizing Benchmarks for Predictive Modeling Chris Cummins Zheng Wang Pavlos Petoumenos Hugh Leather achine learning for compilers y = f(x) Optimisations

More information

Introduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018

Introduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018 Introduction to Git Database Systems DataLab, CS, NTHU Spring, 2018 1 Outline Version control system Git basics Git branch Remote repository 2 Outline Version control system Git basics Git branch Remote

More information

Google Tony Aiuto March, 2017

Google Tony Aiuto March, 2017 curl @ Google Tony Aiuto aiuto@google.com March, 2017 The Scale ~100 direct dependencies Fans out to over 2 million dependent targets Every change impacts >400k tests The Scale 40K programmers no explicit

More information

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #1 Examination 12:30 noon, Tuesday, February 14, 2012

MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #1 Examination 12:30 noon, Tuesday, February 14, 2012 MARKING KEY The University of British Columbia MARKING KEY Computer Science 260 Midterm #1 Examination 12:30 noon, Tuesday, February 14, 2012 Instructor: K. S. Booth Time: 70 minutes (one hour ten minutes)

More information

ECE 595Z Digital Systems Design Automation

ECE 595Z Digital Systems Design Automation ECE 595Z Digital Systems Design Automation Anand Raghunathan, raghunathan@purdue.edu How do you design chips with over 1 Billion transistors? Human designer capability grows far slower than Moore s law!

More information

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems Practical Database Design Methodology and Use of UML Diagrams 406.426 Design & Analysis of Database Systems Jonghun Park jonghun@snu.ac.kr Dept. of Industrial Engineering Seoul National University chapter

More information

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow Tutorial: Getting Started with Git Introduction to version control Benefits of using Git Basic commands Workflow http://xkcd.com/1597/ 2 Tutorial Objectives Fundamentals of how git works Everything you

More information

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search Informal goal Clustering Given set of objects and measure of similarity between them, group similar objects together What mean by similar? What is good grouping? Computation time / quality tradeoff 1 2

More information

A Gentle Introduction to CMSC311 labs and CVS Or How I learned to use CVS in CMSC311. William Arbaugh September 2, 2004

A Gentle Introduction to CMSC311 labs and CVS Or How I learned to use CVS in CMSC311. William Arbaugh September 2, 2004 A Gentle Introduction to CMSC311 labs and CVS Or How I learned to use CVS in CMSC311 William Arbaugh September 2, 2004 This howto assumes that you already have scp and ssh installed on your computer. If

More information

Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software

Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software Vector GB Ltd Annual Conference 2017, September 27 th 28 th V0.1 2017-09-26 Introduction Use Cases for Adaptive AUTOSAR Infotainment

More information

Version Control: Gitting Started

Version Control: Gitting Started ting Started Cai Li October 2014 What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Local Version

More information

PROGRAM DESIGN TOOLS. Algorithms, Flow Charts, Pseudo codes and Decision Tables. Designed by Parul Khurana, LIECA.

PROGRAM DESIGN TOOLS. Algorithms, Flow Charts, Pseudo codes and Decision Tables. Designed by Parul Khurana, LIECA. PROGRAM DESIGN TOOLS Algorithms, Flow Charts, Pseudo codes and Decision Tables Pseudo-Code Pseudo-code is another programming tool that is used for planning the program. The word pseudo means imitation

More information

SMK SEKSYEN 5,WANGSAMAJU KUALA LUMPUR FORM

SMK SEKSYEN 5,WANGSAMAJU KUALA LUMPUR FORM SMK SEKSYEN 5,WANGSAMAJU 53300 KUALA LUMPUR FORM 5 LEARNING AREA 4 MULTIMEDIA Ramadan, SMK Pekan 2007 MULTIMEDIA LESSON 21 MULTIMEDIA CONCEPTS DEFINITION OF MULTIMEDIA Multimedia has been used in many

More information

Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software

Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software Vector Congress 2017, September 6 th 7 th, Shanghai China V0.1 2017-08-04 Introduction Use Cases for Adaptive AUTOSAR Infotainment

More information

Formal Analysis of the Linux Kernel Configuration with SAT Solving

Formal Analysis of the Linux Kernel Configuration with SAT Solving Formal Analysis of the Linux Kernel Configuration with SAT Solving Martin Walch 1 and Rouven Walter 1 and Wolfgang Küchlin 1 Abstract. The Linux kernel is a highly configurable software system. The aim

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 6: Recursive Functions. C Pre-processor. Cristina Nita-Rotaru Lecture 6/ Fall 2013 1 Functions: extern and static Functions can be used before they are declared static for

More information

1.1 The hand written header file

1.1 The hand written header file Page 1 of 8 Incorporating hand code data with generated code from 1 Overview models This paper illustrates how to integrate hand-code with the code generated from models. In particular, it will illustrate

More information

Hg Tutorial. For : COP Object oriented Programming (Using C++) Biswas Parajuli

Hg Tutorial. For : COP Object oriented Programming (Using C++)  Biswas Parajuli Hg Tutorial For : COP 3330. Object oriented Programming (Using C++) http://www.compgeom.com/~piyush/teach/3330 Biswas Parajuli Need for Version Control http://hginit.com/01.html Repository Working directory:

More information

Analyzing the Product Line Adequacy of Existing Components

Analyzing the Product Line Adequacy of Existing Components Analyzing the Product Line Adequacy of Existing Components Jens Knodel and Dirk Muthig Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, D-67663 Kaiserslautern, Germany

More information

Concept Presentation. MAENAD Analysis Workbench

Concept Presentation. MAENAD Analysis Workbench Concept Presentation MAENAD Analysis Workbench Outline, tooling with EAST-ADL MAENAD Modeling Workbench EAST-ADL profile, implemented in Eclipse/Papyrus UML MAENAD Analysis Workbench Eclipse plugins for

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 03: Black-Box Testing (advanced) Part 2 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee Black-Box Testing Techniques Equivalence class partitioning (ECP) Boundary

More information

Section 1: Tools. Contents CS162. January 19, Make More details about Make Git Commands to know... 3

Section 1: Tools. Contents CS162. January 19, Make More details about Make Git Commands to know... 3 CS162 January 19, 2017 Contents 1 Make 2 1.1 More details about Make.................................... 2 2 Git 3 2.1 Commands to know....................................... 3 3 GDB: The GNU Debugger

More information

Code Structure Visualization

Code Structure Visualization TECHNISCHE UNIVERSITEIT EINDHOVEN Department of Mathematics and Computer Science MASTER S THESIS Code Structure Visualization by G.L.P.M. Lommerse Supervisor: Dr. Ir. A.C. Telea (TUE) Eindhoven, August

More information

Simulink 를이용한 효율적인레거시코드 검증방안

Simulink 를이용한 효율적인레거시코드 검증방안 Simulink 를이용한 효율적인레거시코드 검증방안 류성연 2015 The MathWorks, Inc. 1 Agenda Overview to V&V in Model-Based Design Legacy code integration using Simulink Workflow for legacy code verification 2 Model-Based Design

More information

Product Range 3SL. Cradle -7

Product Range 3SL. Cradle -7 Cradle -7 From concept to creation... 3SL Product Range PRODUCT RANGE HIGHLIGHTS APPLIES TO AGILE AND PHASE PROJECTS APPLICATION LIFECYCLE MANAGEMENT REQUIREMENTS MANAGEMENT MODELLING / MBSE / SYSML /

More information

Mining framework concepts from application code

Mining framework concepts from application code Mining framework concepts from application code Steven She Generative Software Developement Lab August 19, 2009 Steven She Mining framework concepts from application code 1/22 Outline 1 Introduction 2

More information

Design of Embedded Systems

Design of Embedded Systems Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1

More information

EE249 Lab September 30 h, 2008 Hugo A. Andrade

EE249 Lab September 30 h, 2008 Hugo A. Andrade High-Level Development Tools Data Flow C Code Textual Math Modeling Statechart EE249 Lab September 30 h, 2008 Hugo A. Andrade Graphical System Design Platform Linux Macintosh Windows Real-Time FPGA Micro

More information

A Generic Framework for Realizing Semantic Model Differencing Operators

A Generic Framework for Realizing Semantic Model Differencing Operators A Generic Framework for Realizing Semantic Model Differencing Operators Philip Langer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Vienna, Austria {langer,mayerhofer,gerti}@big.tuwien.ac.at

More information

Using Model-Based Design in conformance with safety standards

Using Model-Based Design in conformance with safety standards Using Model-Based Design in conformance with safety standards MATLAB EXPO 2014 Kristian Lindqvist Senior Engineer 2014 The MathWorks, Inc. 1 High-Integrity Applications Software-based systems that are

More information

Laboratorio di Programmazione. Prof. Marco Bertini

Laboratorio di Programmazione. Prof. Marco Bertini Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each

More information

University of Marburg Department of Mathematics & Computer Science. Bachelor Thesis. Variability-Aware Interpretation. Author: Jonas Pusch

University of Marburg Department of Mathematics & Computer Science. Bachelor Thesis. Variability-Aware Interpretation. Author: Jonas Pusch University of Marburg Department of Mathematics & Computer Science Bachelor Thesis Variability-Aware Interpretation Author: Jonas Pusch October 11, 2012 Advisors: Prof. Dr. Klaus Ostermann University of

More information

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline: AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

U-Boot and Linux Kernel Debug using CCSv5

U-Boot and Linux Kernel Debug using CCSv5 U-Boot and Linux Kernel Debug using CCSv5 In this session we will cover fundamentals necessary to use CCSv5 and a JTAG to debug a TI SDK-based U-Boot and Linux kernel on an EVM platform. LAB: http://processors.wiki.ti.com/index.php/sitara_linux_training:_uboot_linux_debu

More information

Understanding Linux Feature Distribution

Understanding Linux Feature Distribution Understanding Linux Feature Distribution FOSD Meeting 2012, Braunschweig Reinhard Tartler March 22, 2012 VAMOS Research Questions What s the cause of variability and variability implementations In Systems

More information

ESE566A Modern System-on-Chip Design, Spring 2017 ECE 566A Modern System-on-Chip Design, Spring 2017 Lab 3: Cache Design Due: Mar 24, 5:00 pm

ESE566A Modern System-on-Chip Design, Spring 2017 ECE 566A Modern System-on-Chip Design, Spring 2017 Lab 3: Cache Design Due: Mar 24, 5:00 pm ECE 566A Modern System-on-Chip Design, Spring 2017 Lab 3: Cache Design Due: Mar 24, 5:00 pm 1. Overview... 1 2. Background knowledge... 1 2.1 Cache mapping techniques... 1 2.2 Cache write... 2 3. Cache

More information

AMath 483/583 Lecture 2

AMath 483/583 Lecture 2 AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

Hands-on with the Sitara Linux SDK

Hands-on with the Sitara Linux SDK Hands-on with the Sitara Linux SDK This presentation provides a hands-on overview of the Sitara Linux SDK. It focuses on the software and tools found in the SDK and how to use these tools to develop for

More information

Data Structure - Binary Tree 1 -

Data Structure - Binary Tree 1 - Data Structure - Binary Tree 1 - Hanyang University Jong-Il Park Basic Tree Concepts Logical structures Chap. 2~4 Chap. 5 Chap. 6 Linear list Tree Graph Linear structures Non-linear structures Linear Lists

More information

Chapter 2 CommVault Data Management Concepts

Chapter 2 CommVault Data Management Concepts Chapter 2 CommVault Data Management Concepts 10 - CommVault Data Management Concepts The Simpana product suite offers a wide range of features and options to provide great flexibility in configuring and

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

SysteMoC. Verification and Refinement of Actor-Based Models of Computation

SysteMoC. Verification and Refinement of Actor-Based Models of Computation SysteMoC Verification and Refinement of Actor-Based Models of Computation Joachim Falk, Jens Gladigau, Christian Haubelt, Joachim Keinert, Martin Streubühr, and Jürgen Teich {falk, haubelt}@cs.fau.de Hardware-Software-Co-Design

More information

CS342 - Spring 2019 Project #3 Synchronization and Deadlocks

CS342 - Spring 2019 Project #3 Synchronization and Deadlocks CS342 - Spring 2019 Project #3 Synchronization and Deadlocks Assigned: April 2, 2019. Due date: April 21, 2019, 23:55. Objectives Practice multi-threaded programming. Practice synchronization: mutex and

More information

Solutions Business Manager. Path to Production for Enterprises

Solutions Business Manager. Path to Production for Enterprises White Paper Solutions Business Manager Solutions Business Manager Path to Production for Enterprises Table of Contents Introduction to the Solutions Business Manager Development Process... 1 The Path to

More information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern for Structuring UML-Compatible Software Project Repositories Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp

More information

Feature Models are Views on Ontologies

Feature Models are Views on Ontologies Feature Models are Views on Ontologies Krzysztof Czarnecki 1, Chang Hwan Peter Kim 1, and Karl Trygve Kalleberg 2 University of Waterloo 1 University of Bergen 2 Motivation Two domain modeling approaches

More information

Coriolis: Scalable VM Clustering in Clouds

Coriolis: Scalable VM Clustering in Clouds 1 / 21 Coriolis: Scalable VM Clustering in Clouds Daniel Campello 1 Carlos Crespo 1 Akshat Verma 2 RajuRangaswami 1 Praveen Jayachandran 2 1 School of Computing and Information Sciences

More information

Software Product Line Engineering Lab Prof. Dr. Ralf Hahn WS2015/2016. Lab SWPLE

Software Product Line Engineering Lab Prof. Dr. Ralf Hahn WS2015/2016. Lab SWPLE WS205/206 8.09.205 SWPLE General remarks The practical part of the lecture on SWPLE consists of 6 dates. Each date is mandatory. The lab sessions will be done in groups of 2 students. We will look at different

More information

Software Quality Understanding by Analysis of Abundant Data (SQUAAD)

Software Quality Understanding by Analysis of Abundant Data (SQUAAD) Software Quality Understanding by Analysis of Abundant Data (SQUAAD) By Pooyan Behnamghader Advisor: Barry Boehm ARR 2018 March 13, 2018 1 Outline Motivation Software Quality Evolution Challenges SQUAAD

More information

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 WHO AM I? @tushar_rishav GSoC'16 student contributing to coala - a static code analysis tool, under Python So ware Foundation. A senior

More information

Mandi Walls. Technical Community #habitatsh

Mandi Walls. Technical Community #habitatsh Mandi Walls Technical Community Manager @lnxchk mandi@chef.io https://habitat.sh #habitatsh http://slack.habitat.sh/ Chef and Automation Infrastructure Automation Cloud early adopters Digital Transformation

More information

Report builder How to edit a report (Client documentation) V.2

Report builder How to edit a report (Client documentation) V.2 Report builder How to edit a report (Client documentation) V.2 Table of Contents Table of Contents Editing a report E diting a report Already existing reports can be viewed by clicking View, or edited

More information

Section 1: Tools. Kaifei Chen, Luca Zuccarini. January 23, Make Motivation How... 2

Section 1: Tools. Kaifei Chen, Luca Zuccarini. January 23, Make Motivation How... 2 Kaifei Chen, Luca Zuccarini January 23, 2015 Contents 1 Make 2 1.1 Motivation............................................ 2 1.2 How................................................ 2 2 Git 2 2.1 Learn by

More information

A Brief Git Primer for CS 350

A Brief Git Primer for CS 350 A Brief Git Primer for CS 350 Tyler Szepesi (shamelessly stolen by Ben Cassell) University of Waterloo becassel@uwaterloo.ca September 8, 2017 Overview 1 Introduction 2 One-Time Setup 3 Using Git Git on

More information

DATA STRUCTURES AND ALGORITHMS

DATA STRUCTURES AND ALGORITHMS DATA STRUCTURES AND ALGORITHMS Sorting algorithms External sorting, Search Summary of the previous lecture Fast sorting algorithms Quick sort Heap sort Radix sort Running time of these algorithms in average

More information

Managing Code Variants

Managing Code Variants Steven J Zeil March 19, 2013 Contents 1 Problems 2 2 AUTOCONF 8 3 Dynamic Loading 11 1 1 Problems Code Variations Environment management, Previously identified as common SCM problems: Coping with change

More information

Managing Code Variants

Managing Code Variants Steven J Zeil March 19, 2013 Contents 1 Problems 2 2 AUTOCONF 9 3 Dynamic Loading 14 1 1 Problems Code Variations Environment management, Previously identified as common SCM problems: Coping with change

More information

Topics in Parsing: Context and Markovization; Dependency Parsing. COMP-599 Oct 17, 2016

Topics in Parsing: Context and Markovization; Dependency Parsing. COMP-599 Oct 17, 2016 Topics in Parsing: Context and Markovization; Dependency Parsing COMP-599 Oct 17, 2016 Outline Review Incorporating context Markovization Learning the context Dependency parsing Eisner s algorithm 2 Review

More information

Reverse Engineering Feature Models From Programs Feature Sets

Reverse Engineering Feature Models From Programs Feature Sets 2011 18th Working Conference on Reverse Engineering Reverse Engineering Feature Models From Programs Feature Sets Evelyn Nicole Haslinger k0855482@students.jku.at Roberto E. Lopez-Herrejon roberto.lopez@jku.at

More information

The Art, Science, and Engineering of Programming

The Art, Science, and Engineering of Programming Clafer: Lightweight Modeling of Structure, Behaviour, and Variability Paulius Juodisius a, Atrisha Sarkar b, Raghava Rao Mukkamala c, Michał Antkiewicz b, Krzysztof Czarnecki b, and Andrzej Wąsowski a

More information

New approaches to pattern recognition and automated learning

New approaches to pattern recognition and automated learning Z Y X New approaches to pattern recognition and automated learning Technology Forum 2015 Johannes Zuegner STEMMER IMAGING GmbH, Puchheim, Germany OUTLINE Introduction Description of the task What does

More information

Abstraction Recovery for Scalable Static Binary Analysis

Abstraction Recovery for Scalable Static Binary Analysis Abstraction Recovery for Scalable Static Binary Analysis Edward J. Schwartz Software Engineering Institute Carnegie Mellon University 1 The Gap Between Binary and Source Code push mov sub movl jmp mov

More information

Hetero Streams Library (hstreams Library) User's Guide

Hetero Streams Library (hstreams Library) User's Guide (hstreams Library) User's Guide January 2017 Copyright 2013-2017 Intel Corporation All Rights Reserved US Revision: 1.0 World Wide Web: http://www.intel.com Disclaimer and Legal Information You may not

More information