# CS 520. Theory and Prac2ce of So4ware Engineering Fall November 16, Model inference of processes

Size: px
Start display at page:

Download "CS 520. Theory and Prac2ce of So4ware Engineering Fall November 16, Model inference of processes"

Transcription

1 CS 520 Theory and Prac2ce of So4ware Engineering Fall 2021 Model inference of processes November 16, 2021

2 Thursday (November 18) Fourth (and last) in-class exercise On model inference of processes (today is a prelude with useful info) Form 3-, 4-, or 5- person teams Use Moodle to self-select a team; open from today un2l Thursday at 11:59 PM (almost midnight) In-class exercise 4: Group selec2on

3 Problem Missing or inaccurate system documenta2on makes it challenging to understand the intended system behaviors Complex logs of unintended system behaviors makes it difficult to debug them

4 Goal Take as input a set of observed traces (usually represented as sequences of events) of a given system Automa2cally produce an inferred model (o4en represented as an FSA) that must accept all of the observed traces May also accept some unobserved traces

5 Model inference tool: Architecture [Synop2c] Sequences of events (o4en method calls) [Log + Regular expressions] Model inference algorithm [Bisim algorithm] Inferred model [Conceptually an FSA] h[ps://people.cs.umass.edu/~brun/pubs/pubs/beschastnikh11fse.pdf

6 Shopping cart: API (wri[en in PHP) invalid-coupon valid-coupon reduce-price check-out get-credit-card

7 BisimH algorithm 1. Extract a trace graph from a given log using the regular expressions 2. Mine invariants from that trace graph 3. Create ini<al inferred model by par22oning the trace graph 4. While (current inferred model violates invariants) 1. Generate counterexample path through the current inferred model illustra2ng a viola2on of a given invariant 2. Refine current inferred model based on that counterexample path to produce next inferred model sa2sfying that invariant 5. Coarsen current inferred model to produce final inferred model

8 BisimH algorithm 1. Extract a trace graph from a given log using the regular expressions 2. Mine invariants from the trace graph 3. Create ini<al inferred model by par22oning trace graph 4. While (current inferred model violates invariants) 1. Generate counterexample path through the current inferred model illustra2ng a viola2on of a given invariant 2. Refine current inferred model based on that counterexample path to produce next inferred model sa2sfying that invariant 5. Coarsen current inferred model to produce final inferred model

9 1. Extract: Log and regular expressions Log, e.g., Line: [06/Jan/2011:07:24:13] GET HTTP/1.1/checkout.php Regular expression(s), e.g., Line parsing: (?<ip>).+/(?<type>.+).php Special events for INITIAL and TERMINAL. Each event specified as a triple <trace ID, 2mestamp, event type>, e.g., < , 06/Jan/2011:07:24:13, check-out>

10 1. Extract: Trace graph Each event specified as a triple <trace ID, 2mestamp, event type> Also special events for INITIAL and TERMINAL Each trace is a linear graph where: Each event corresponds to a vertex The total ordering among the events (specified by their 2mestamps) corresponds to the edges among the nodes A trace graph is the union of the set of traces

11 Shopping cart: Inputs Regular Expressions: Line parsing: (?<ip>).+/(?<type>.+).php Trace mapping: \k<ip>

12 Shopping cart: Trace graph

13 BisimH algorithm 1. Extract a trace graph from a given log using the regular expressions 2. Mine invariants from the trace graph 3. Create ini<al inferred model by par22oning trace graph 4. While (current inferred model violates invariants) 1. Generate counterexample path through the current inferred model illustra2ng a viola2on of a given invariant 2. Refine current inferred model based on that counterexample path to produce next inferred model sa2sfying that invariant 5. Coarsen current inferred model to produce final inferred model

14 2. Mine invariants Capture temporal rela2onships between event types in a given trace graph a Always Followed by b (a b) e.g., INITIAL check-out a Never Followed by b (a b) e.g., valid-coupon invalid-coupon a Always Precedes b (a b) e.g., check-out get-credit-card Must be sa2sfied by all of the poten2al traces through that graph

15 2. Mine invariants Capture temporal rela2onships between event types in a given trace graph a Always Followed by b (a b) e.g., INITIAL check-out a Never Followed by b (a b) e.g., valid-coupon invalid-coupon a Always Precedes b (a b) e.g., check-out get-credit-card Use the Dwyer et al. property pa[erns Must be sa2sfied by all of the poten2al traces through that graph

16 Shopping cart: Invariants

17 BisimH algorithm 1. Extract a trace graph from a given log using the regular expressions 2. Mine invariants from the trace graph 3. Create ini<al inferred model by par22oning trace graph 4. While (current inferred model violates invariants) 1. Generate counterexample path through the current inferred model illustra2ng a viola2on of a given invariant 2. Refine current inferred model based on that counterexample path to produce next inferred model sa2sfying that invariant 5. Coarsen current inferred model to produce final inferred model

18 Shopping cart: Trace graph

19 Shopping cart: Ini2al model

20 BisimH algorithm 1. Extract a trace graph from a given log using the regular expressions 2. Mine invariants from the trace graph 3. Create ini<al inferred model by par22oning trace graph 4. While (current inferred model violates invariants) 1. Generate counterexample path through the current inferred model illustra2ng a viola2on of a given invariant 2. Refine current inferred model based on that counterexample path to produce next inferred model sa2sfying that invariant 5. Coarsen current inferred model to produce final inferred model

21 BisimH algorithm 1. Extract a trace graph from a given log using the regular expressions 2. Mine invariants from the trace graph 3. Create ini<al inferred model by par22oning trace graph 4. While (current inferred model violates invariants) 1. Generate counterexample path through the current inferred model illustra2ng a viola2on of a given invariant 2. Refine current inferred model based on that counterexample path to produce next inferred model sa2sfying that invariant 5. Coarsen current inferred model to produce final inferred model Use counterexample guided abstrac2on refinement (CEGAR)

22 4. CEGAR: Generate counterexample path Employ a model checker to determine if all poten2al paths through the current inferred model sa2sfy the invariants If so, report sa2sfied If not, report violated and a counterexample path illustra2ng a viola2on of one of the invariants

23 Shopping cart: Counterexample path Violates invariant: valid-coupon invalid-coupon

24 4. CEGAR: Refine 1. Refine the current inferred model based on the violated invariant Heuris2cally select a vertex relevant to that invariant 2. Create the refined inferred model that sa2sfies that invariant Split the selected vertex into mul2ple ver2ces

25 Shopping cart: Refined model

26 5. Coarsen Coarsen the refined inferred model Search for ver2ces that didn t need to be split by the refine heuris2c and merge them The coarsened inferred model sa2sfies all of the invariants. (It is the final inferred model.)

27 Shopping cart: Coarsened model

28 Shopping cart: Final model

29 Shopping cart: Final model Does the inferred model illustrate any unintended behavior (i.e. a bug)?

30 Shopping cart: Final model Does the inferred model illustrate any unintended behavior (i.e. a bug)? YES

31 Challenges for model inference How does the selec2on of the event sequence set affect the final model? affect performance? How does the parameteriza2on of the model inference algorithm affect the final model? How do you compare/contrast (or diff) two inferred models? How to support other high-level language features such as concurrency, real-2me constraints,?

32 Learning from system traces Logs, e.g., Synop2c, InvariMint h[ps:// Counterexample paths, e.g., libalf: Automata learning framework h[p://libalf.informa2k.rwth-aachen.de Usage scenarios, e.g., h[ps://dl.acm.org/doi/pdf /

33 Homework 3: Overview Due: Tuesday November 30, 11:59 PM (a li[le before midnight) New branch v2.0.0: The RowGameModel class has encapsulated the player and movesle4 fields. That class also is using the Player enum type for type safety of the player field. The RowGameGUI class is applying the Composite design pa[ern. The test suite updated the exis2ng testnewgame test case and added new test cases for testlegalmove and testillegalmove.

34 Homework 3: What to do 1. The RowGameModel class should apply the Observer design pa[ern. 2. The RowGameController class should apply either the Strategy or Template Method design pa[ern. 3. In a Java IDE, your project should build, run, and be debugged. NOTE) There should be git commit messages about the above.

35 Architecture padern: MVC (Model View Controller) sees Client uses View Controller updates Model manipulates Separates data representa2on (Model), visualiza2on (View), and client interac2on (Controller)

36 Architecture padern: PAC (Presenta2on Abstrac2on Control) sees Client uses sets Presenta2on updates Control gets Abstrac2on Separates data representa2on (Abstrac2on), visualiza2on (Presenta2on), and client interac2on (Control) h[ps://en.wikipedia.org/wiki/presenta2on%e2%80%93abstrac2on%e2%80%93control

37 Architecture padern: PAC (Presenta2on Abstrac2on Control) sees Client uses sets Presenta2on updates Control Applies the Mediator design padern gets Abstrac2on Separates data representa2on (Abstrac2on), visualiza2on (Presenta2on), and client interac2on (Control) h[ps://en.wikipedia.org/wiki/presenta2on%e2%80%93abstrac2on%e2%80%93control

38 Which architecture? sees Client uses View Controller MVC: updates Model manipulates PAC: Presenta2on sees updates Client uses Control sets gets Abstrac2on

39 Design paderns: Observer and Strategy sees View Client Swing applies the Observer padern uses Controller You ll apply the Strategy padern You ll apply the updates Observer padern Model manipulates Separates data representa2on (Model), visualiza2on (View), and client interac2on (Controller)

40 RowGameController: Suppor2ng different row game rules Different row game rules: Three in a row Tic tac toe Two possible solu2ons: Strategy design pa[ern Template method design pa[ern

41 Strategy design pa[ern: RowGameController <<interface>> Median +median(a:double[]):double 1 <<interface>> Sorter +sort(array:double[]) StrategyMedian -sortstrategy:sorter +median(a:double[]):double +setsorter(s:sorter) HeapSort +sort(...)... QuickSort +sort(...) median delegates the sor2ng of the array to a sortstrategy

42 Template method design pa[ern: RowGameController AbstractMedian {abstract} + median(a:double[]):double # sort(a:double[]) Should the median method be final? The template method (median) implements the algorithm but leaves the sor<ng of the array undefined. SimpleMedian # sort(a:double[]) The concrete subclass only needs to implement the actual sor<ng.

43 Design paderns: Observer and Strategy sees View Client Swing applies the Observer padern uses Controller You ll apply the Strategy padern You ll apply the updates Observer padern Model manipulates Separates data representa2on (Model), visualiza2on (View), and client interac2on (Controller)

44 Observer pa[ern Observable {abstract} # observers:set<observer> + register(o:observer) + unregister(o:observer) + statechanged() <<interface>> Observer + update() public void statechanged() { for (Observer o : observers) { o.update(); } } MyObservable MyObserver - state:state + getstate():state + setstate(state:state) + update() // For the setstate method, use the statechanged method

45 Observer padern: Reset JBu[on and RowGameController Observable {abstract} # observers:set<observer> + register(o:observer) + unregister(o:observer) + statechanged() reset JBuDon MyObservable - state:state public void statechanged() { for (Observer o : observers) { o.update(); } } <<interface>> Observer + update() RowGameController MyObserver + getstate():state + setstate(state:state) + update() // For the setstate method, use the statechanged method

46 Learn by example h[ps://docs.oracle.com/en/java/javase/14/ docs/api/java.desktop/javax/swing/jbu[on.html h[ps://docs.oracle.com/en/java/javase/14/ docs/api/java.desktop/javax/swing/ AbstractBu[on.html h[ps://docs.oracle.com/en/java/javase/14/ docs/api/java.desktop/java/awt/event/ Ac2onListener.html

47 Observer pa[ern Observable {abstract} # observers:set<observer> + register(o:observer) + unregister(o:observer) + statechanged() <<interface>> Observer + update() public void statechanged() { for (Observer o : observers) { o.update(); } } MyObservable MyObserver - state:state + getstate():state + setstate(state:state) + update() // For the setstate method, use the statechanged method

48 Observer padern: Model and its View(s) Observable {abstract} # observers:set<observer> + register(o:observer) + unregister(o:observer) + statechanged() Model MyObservable - state:state public void statechanged() { for (Observer o : observers) { o.update(); } } <<interface>> Observer + update() View(s) MyObserver + getstate():state + setstate(state:state) + update() // For the setstate method, use the statechanged method

49 Learn from user documenta<on h[ps://docs.oracle.com/en/java/javase/14/docs/api/ java.desktop/java/beans/ PropertyChangeSupport.html (In our case, we ll be using another design pa[ern called Adapter.) h[ps://docs.oracle.com/en/java/javase/14/docs/api/ java.desktop/java/beans/ PropertyChangeListener.html

### CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

### Model Checking: An Introduction

Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI

### Assignment 2: More MapReduce with Hadoop

Assignment 2: More MapReduce with Hadoop Jean-Pierre Lozi February 5, 2015 Provided files following URL: An archive that contains all files you will need for this assignment can be found at the http://sfu.ca/~jlozi/cmpt732/assignment2.tar.gz

### «Shanoir : une solu/on pour la ges/on de données distribuées en imagerie in- vivo» Jus/ne Guillaumont Isabelle Corouge

«Shanoir : une solu/on pour la ges/on de données distribuées en imagerie in- vivo» Jus/ne Guillaumont Isabelle Corouge Shanoir: a solu-on for neuro- imaging data management Jus/ne Guillaumont, Isabelle

### 978-1-4799-0913-1/14/\$31.00 2014 IEEE

This paper introduces CMDB pa4erns as an approach to help address conceptual issues in CMDB implementa7ons and provide prac77oners with a common set of terms for useful designs. Configura7on Management

### Union-Find Algorithms. network connectivity quick find quick union improvements applications

Union-Find Algorithms network connectivity quick find quick union improvements applications 1 Subtext of today s lecture (and this course) Steps to developing a usable algorithm. Define the problem. Find

### KWIC Implemented with Pipe Filter Architectural Style

KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style... 2 1 Pipe Filter Systems in General... 2 2 Architecture... 3 2.1 Pipes in KWIC system... 3

### CMMI for High-Performance with TSP/PSP

Dr. Kıvanç DİNÇER, PMP Hace6epe University Implemen@ng CMMI for High-Performance with TSP/PSP Informa@on Systems & SoFware The Informa@on Systems usage has experienced an exponen@al growth over the past

### Run\$me Query Op\$miza\$on

Run\$me Query Op\$miza\$on Robust Op\$miza\$on for Graphs 2006-2014 All Rights Reserved 1 RDF Join Order Op\$miza\$on Typical approach Assign es\$mated cardinality to each triple pabern. Bigdata uses the fast

### Nodes, Ties and Influence

Nodes, Ties and Influence Chapter 2 Chapter 2, Community Detec:on and Mining in Social Media. Lei Tang and Huan Liu, Morgan & Claypool, September, 2010. 1 IMPORTANCE OF NODES 2 Importance of Nodes Not

### Model Checking based Software Verification

Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

### Towards Reconstruc/ng Architectural Models of So8ware Tools by Run/me Analysis

Towards Reconstruc/ng Architectural Models of So8ware Tools by Run/me Analysis Ian Peake, Jan Olaf Blech, Lasith Fernando RMIT University Melbourne, Australia Our Approach Tradi/onal Requirements Model

### How To Use The Command Pattern In Java.Com (Programming) To Create A Program That Is Atomic And Is Not A Command Pattern (Programmer)

CS 342: Object-Oriented Software Development Lab Command Pattern and Combinations David L. Levine Christopher D. Gill Department of Computer Science Washington University, St. Louis levine,cdgill@cs.wustl.edu

### Implementing and Maintaining Microsoft SQL Server 2008 Integration Services

Course 6234A: Implementing and Maintaining Microsoft SQL Server 2008 Integration Services Length: 3 Days Language(s): English Audience(s): IT Professionals Level: 200 Technology: Microsoft SQL Server 2008

### Telephone Related Queries (TeRQ) IETF 85 (Atlanta)

Telephone Related Queries (TeRQ) IETF 85 (Atlanta) Telephones and the Internet Our long- term goal: migrate telephone rou?ng and directory services to the Internet ENUM: Deviated significantly from its

### CS 5150 So(ware Engineering Evalua4on and User Tes4ng

Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Evalua4on and User Tes4ng William Y. Arms Usability: The Analyze/Design/Build/Evaluate Loop Analyze requirements Design User

### Converting a Number from Decimal to Binary

Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive

### BP2SAN From Business Processes to Stochastic Automata Networks

BP2SAN From Business Processes to Stochastic Automata Networks Kelly Rosa Braghetto Department of Computer Science University of São Paulo kellyrb@ime.usp.br March, 2011 Contents 1 Introduction 1 2 Instructions

### Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### Intrusion Detection via Static Analysis

Intrusion Detection via Static Analysis IEEE Symposium on Security & Privacy 01 David Wagner Drew Dean Presented by Yongjian Hu Outline Introduction Motivation Models Trivial model Callgraph model Abstract

### Leveraging Expert Instructional Design Strategies to Develop Quality Online Courses

Leveraging Expert Instructional Design Strategies to Develop Quality Online Courses Kevin Hulen Assistant Director, Online Course Development Center for Instruc7on and Research Technology University of

### SBML SBGN SBML Just my 2 cents. Alice C. Villéger COMBINE 2010

SBML SBGN SBML Just my 2 cents Alice C. Villéger COMBINE 2010 Disclaimer Fuzzy talk work in progress last minute slides Someone else has been working on very similar stuff and should really have been talking

### Seminar: So#ware Engineering of Embedded Systems

Seminar: So#ware Engineering of Embedded Systems - Quality Assurance of Embedded Systems - Prof. Dr. Sabine Glesner Paula Herber, Nils Jähnig, Lydia Ma7ck, Marcus Mikulcak, Sebas;an Schlesinger Summer

### Data Management in the Cloud: Limitations and Opportunities. Annies Ductan

Data Management in the Cloud: Limitations and Opportunities Annies Ductan Discussion Outline: Introduc)on Overview Vision of Cloud Compu8ng Managing Data in The Cloud Cloud Characteris8cs Data Management

### Agile Software Development

Agile Software Development Principles, Patterns, and Practices Robert Cecil Martin Alan Apt Series Prentice «: : Hall Pearson Education, Inc. Upper Saddle River, New Jersey 07458 Foreword Preface About

### Graph Database Proof of Concept Report

Objectivity, Inc. Graph Database Proof of Concept Report Managing The Internet of Things Table of Contents Executive Summary 3 Background 3 Proof of Concept 4 Dataset 4 Process 4 Query Catalog 4 Environment

### MA-WA1920: Enterprise iphone and ipad Programming

MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This

### Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009 Part I D&IT: Computer

### 5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The

### Scalus A)ribute Workshop. Paris, April 14th 15th

Scalus A)ribute Workshop Paris, April 14th 15th Content Mo=va=on, objec=ves, and constraints Scalus strategy Scenario and architectural views How the architecture works Mo=va=on for this MCITN Storage

### An Ant Colony Optimization Approach to the Software Release Planning Problem with Dependent Requirements

3rd InternaIonal Symposium on Search Based SoKware Engineering September 10 12, Szeged, Hungary An Ant Colony Optimization Approach to the Software Release Planning Problem with Dependent Requirements

### Map- reduce, Hadoop and The communica3on bo5leneck. Yoav Freund UCSD / Computer Science and Engineering

Map- reduce, Hadoop and The communica3on bo5leneck Yoav Freund UCSD / Computer Science and Engineering Plan of the talk Why is Hadoop so popular? HDFS Map Reduce Word Count example using Hadoop streaming

### CS 5150 So(ware Engineering Steps in the So(ware Development Process

Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering Steps in the So(ware Development Process William Y. Arms So(ware Process Fundamental Assump1on: Good processes lead to good

### ReproLite : A Lightweight Tool to Quickly Reproduce Hard System Bugs

ReproLite : A Lightweight Tool to Quickly Reproduce Hard System Bugs Kaituo Li (U. Massachusetts, Amherst) Pallavi Joshi (NEC Labs America) Aarti Gupta (NEC Labs America) Malay K. Ganai (NEC Labs America)

### Advanced Software Test Design Techniques Use Cases

Advanced Software Test Design Techniques Use Cases Introduction The following is an excerpt from my recently-published book, Advanced Software Testing: Volume 1. This is a book for test analysts and test

### Formal Verification by Model Checking

Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking

### Investigating Program Behavior Using the Texada LTL Specifications Miner

Investigating Program Behavior Using the Texada LTL Specifications Miner Caroline Lemieux, Ivan Beschastnikh Computer Science University of British Columbia Vancouver, BC, Canada caro.lemieux@gmail.com,

### Japan Communication India Skill Development Center

Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 3 Java Application Software Developer: Phase1 SQL Overview 70 Querying & Updating Data (Review)

### Data Structure [Question Bank]

Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

### So#ware Development Methodologies Project Management Phases Agile Methodology Agile Manifesto Roles. Team Roles and Responsibili?

Module Summary So#ware Development Methodologies Project Management Phases Agile Methodology Agile Manifesto Roles Team Roles and Responsibili?es Goal for First Client Mee?ng Expecta?ons Client Student

### Distributed systems Lecture 6: Elec3ons, consensus, and distributed transac3ons. Dr Robert N. M. Watson

Distributed systems Lecture 6: Elec3ons, consensus, and distributed transac3ons Dr Robert N. M. Watson 1 Last 3me Saw how we can build ordered mul3cast Messages between processes in a group Need to dis3nguish

### Ensemble Methods. Adapted from slides by Todd Holloway h8p://abeau<fulwww.com/2007/11/23/ ensemble- machine- learning- tutorial/

Ensemble Methods Adapted from slides by Todd Holloway h8p://abeau

### Model Checking of Software

Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving

### Bad code smells Refactoring Example

Bad code smells Refactoring Example Game Design Experience Professor Jim Whitehead January 26, 2009 Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Announcements Game concept document

### Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

### How To Test Automatically

Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska jp@tzi.de University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts

### Verifying Business Processes Extracted from E-Commerce Systems Using Dynamic Analysis

Verifying Business Processes Extracted from E-Commerce Systems Using Dynamic Analysis Derek Foo 1, Jin Guo 2 and Ying Zou 1 Department of Electrical and Computer Engineering 1 School of Computing 2 Queen

### UML TUTORIALS THE USE CASE MODEL

UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between

### Pro Billing for Legal Time, Billing & Financial Systems for Law Firms and Legal Departments

TIME AND EXPENSE MANAGEMENT Fulcrum s Rapid Deployment Solution (RDS) for Legal WIP MANAGEMENT BILLING ACCOUNTS PAYABLE ACCOUNTS RECEIVABLE/ COLLECTIONS POWERFUL FUNCTIONALITY, RELIABILITY, AND SCALABILITY

### So#ware Product Lines for Automa5c Mul5- Cloud Configura5on

So#ware Product Lines for Automa5c Mul5- Cloud Configura5on Université Lille 1 CRIStAL UMR CNRS 9189 Inria Lille - Nord Europe France Gustavo Sousa gustavo.sousa@inria.fr Encadrants: Walter Rudametkin

### Extrac'ng People s Hobby and Interest Informa'on from Social Media Content

Extrac'ng People s Hobby and Interest Informa'on from Social Media Content Thomas Forss, Shuhua Liu and Kaj- Mikael Björk Dept of Business Administra?on and Analy?cs Arcada University of Applied Sciences

### How to Write a Checker in 24 Hours

How to Write a Checker in 24 Hours Clang Static Analyzer Anna Zaks and Jordan Rose Apple Inc. What is this talk about? The Clang Static Analyzer is a bug finding tool It can be extended with custom checkers

### ANALYTICAL TECHNIQUES FOR DATA VISUALIZATION

ANALYTICAL TECHNIQUES FOR DATA VISUALIZATION CSE 537 Ar@ficial Intelligence Professor Anita Wasilewska GROUP 2 TEAM MEMBERS: SAEED BOOR BOOR - 110564337 SHIH- YU TSAI - 110385129 HAN LI 110168054 SOURCES

### How to test and debug an ASP.NET application

Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

### University of Utah WAN Firewall Presenta6on

University of Utah WAN Firewall Presenta6on Raising Awareness of our WAN Firewall Issues This document is for internal University of Utah use only. 4 Key Internet Firewall Ques6ons Who do we serve and

### HTML5 Data Visualization and Manipulation Tool Colorado School of Mines Field Session Summer 2013

HTML5 Data Visualization and Manipulation Tool Colorado School of Mines Field Session Summer 2013 Riley Moses Bri Fidder Jon Lewis Introduction & Product Vision BIMShift is a company that provides all

### Using Eclipse CDT/PTP for Static Analysis

PTP User-Developer Workshop Sept 18-20, 2012 Using Eclipse CDT/PTP for Static Analysis Beth R. Tibbitts IBM STG tibbitts@us.ibm.com "This material is based upon work supported by the Defense Advanced Research

### Retaining globally distributed high availability Art van Scheppingen Head of Database Engineering

Retaining globally distributed high availability Art van Scheppingen Head of Database Engineering Overview 1. Who is Spil Games? 2. Theory 3. Spil Storage Pla9orm 4. Ques=ons? 2 Who are we? Who is Spil

### Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying

### Data Mining, Predictive Analytics with Microsoft Analysis Services and Excel PowerPivot

www.etidaho.com (208) 327-0768 Data Mining, Predictive Analytics with Microsoft Analysis Services and Excel PowerPivot 3 Days About this Course This course is designed for the end users and analysts that

### Introduc)on of Pla/orm ISF. Weina Ma Weina.Ma@uoit.ca

Introduc)on of Pla/orm ISF Weina Ma Weina.Ma@uoit.ca Agenda Pla/orm ISF Product Overview Pla/orm ISF Concepts & Terminologies Self- Service Applica)on Management Applica)on Example Deployment Examples

### Introduction to Synoptic

Introduction to Synoptic 1 Introduction Synoptic is a tool that summarizes log files. More exactly, Synoptic takes a set of log files, and some rules that tell it how to interpret lines in those logs,

### Leveraging Test Generation and Specification Mining for Automated Bug Detection without False Positives

Leveraging Test Generation and Specification Mining for Automated Bug Detection without False Positives Michael Pradel Department of Computer Science ETH Zurich Thomas R. Gross Department of Computer Science

### Hadoop Technology for Flow Analysis of the Internet Traffic

Hadoop Technology for Flow Analysis of the Internet Traffic Rakshitha Kiran P PG Scholar, Dept. of C.S, Shree Devi Institute of Technology, Mangalore, Karnataka, India ABSTRACT: Flow analysis of the internet

### CMSC5733 Social Computing

CMSC5733 Social Computing Tutorial 3: Introduction to Project Yuanyuan, Man The Chinese University of Hong Kong sophiaqhsw@gmail.com Tutorial Overview Introduction to CLANS System overview Data acquisition

### Settlers of Catan Phase 1

Settlers of Catan Phase 1 Objective In this phase you will design, implement, and test the following subsystems: 1. Catan Model 2. Server Proxy 3. Server Poller Catan Model The Catan Model will be at the

### VDM vs. Programming Language Extensions or their Integration

VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,

### Japan Communication India Skill Development Center

Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 1B Java Application Software Developer: Phase1 DBMS Concept 20 Entities Relationships Attributes

### Introducing BRAD - the New Standard for Print on Demand

Presenta0on materials and video replay will be provided within one week. Have ques0ons? Use the ques0ons panel during the Q&A recap at the end of the call. we ll field them as we go and Introducing BRAD

### MiniDraw Introducing a framework... and a few patterns

MiniDraw Introducing a framework... and a few patterns What is it? [Demo] 2 1 What do I get? MiniDraw helps you building apps that have 2D image based graphics GIF files Optimized repainting Direct manipulation

### Android Provenance: Debugging Device Disorders

Android Provenance: Debugging Device Disorders Nathaniel Husted Indiana University Sharjeel Qureshi, Dawood Tariq, Ashish Gehani SRI Interna:onal Android OS Smartphone Opera:ng System by Google 49.4% Market

### 2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

### 1 File Processing Systems

COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

### The DATA Difference Targe.ng for Stronger ROI!

The DATA Difference Targe.ng for Stronger ROI! Presented by: Dr. John Leininger Department of Graphic Communica

CHAPTER 5 Adapter, Bridge, and Façade Objectives The objectives of this chapter are to identify the following: Complete the exercise in class design. Introduce the adapter, bridge, and façade patterns.

### So#ware- based CyberSecurity. Michael Butler Gennaro Parlato Electronic and So.ware Systems (ESS)

So#ware- based CyberSecurity Michael Butler Gennaro Parlato Electronic and So.ware Systems (ESS) Security is mul;- faceted Confiden;ality Authen;ca;on Authorisa;on / Access Control Trust / Reputa;on Anonymity

### Fundamentals of Web Programming a

Fundamentals of Web Programming a Universal Description, Discovery, and Integration Teodor Rus rus@cs.uiowa.edu The University of Iowa, Department of Computer Science a Copyright 2009 Teodor Rus. These

### Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development

Software development Groupware and Collaborative Interaction Collaborative Software Development M2R Interaction - Université Paris-Sud - Année 2013-2014 Cédric Fleury (cedric.fleury@lri.fr) Several users

### Project Por)olio Management

Project Por)olio Management Important markers for IT intensive businesses Rest assured with Infolob s project management methodologies What is Project Por)olio Management? Project Por)olio Management (PPM)

### Japan Communication India Skill Development Center

Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2b Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server

### ProM 6 Exercises. J.C.A.M. (Joos) Buijs and J.J.C.L. (Jan) Vogelaar {j.c.a.m.buijs,j.j.c.l.vogelaar}@tue.nl. August 2010

ProM 6 Exercises J.C.A.M. (Joos) Buijs and J.J.C.L. (Jan) Vogelaar {j.c.a.m.buijs,j.j.c.l.vogelaar}@tue.nl August 2010 The exercises provided in this section are meant to become more familiar with ProM

### CCaaS: Online Conformance Checking as a Service

CCaaS: Online Conformance Checking as a Service Ingo Weber 1, Andreas Rogge-Solti 2, Chao Li 1, and Jan Mendling 2 1 NICTA, Sydney, Australia firstname.lastname@nicta.com.au 2 Wirtschaftsuniversität Wien,

### Challenges of PM in Albania and a New. Professional Perspec8ve. Prepared by: Dritan Mezini, MBA, MPM B.S. CS

Challenges of PM in Albania and a New Professional Perspec8ve Prepared by: Dritan Mezini, MBA, MPM B.S. CS Table of contents Presenter s brief introduc8on General Concepts What is a project? What is Project

### Software Architecture Action Guide. Why do we care about Software Architecture?

Software Action Guide Dana Bredemeyer Bredemeyer Consulting Tel: (812) 335-1653 Fax: (812) 335-1652 Email: dana@bredemeyer.com Web: Why do we care about Software? Because we want to be a dominant player

### Integrated Error-Detection Techniques: Find More Bugs in Java Applications

Integrated Error-Detection Techniques: Find More Bugs in Java Applications Software verification techniques such as pattern-based static code analysis, runtime error detection, unit testing, and flow analysis

### Developing Microsoft SharePoint Server 2013 Advanced Solutions MOC 20489

Developing Microsoft SharePoint Server 2013 Advanced Solutions MOC 20489 Course Outline Module 1: Creating Robust and Efficient Apps for SharePoint In this module, you will review key aspects of the apps

### Binary Search Trees CMPSC 122

Binary Search Trees CMPSC 122 Note: This notes packet has significant overlap with the first set of trees notes I do in CMPSC 360, but goes into much greater depth on turning BSTs into pseudocode than

### ANALYTICS IN BIG DATA ERA

ANALYTICS IN BIG DATA ERA ANALYTICS TECHNOLOGY AND ARCHITECTURE TO MANAGE VELOCITY AND VARIETY, DISCOVER RELATIONSHIPS AND CLASSIFY HUGE AMOUNT OF DATA MAURIZIO SALUSTI SAS Copyr i g ht 2012, SAS Ins titut

### CS473 - Algorithms I

CS473 - Algorithms I Lecture 9 Sorting in Linear Time View in slide-show mode 1 How Fast Can We Sort? The algorithms we have seen so far: Based on comparison of elements We only care about the relative

### MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY 1 Juan Carlos Polanco Aguilar 1 Koji Hasebe 1 Manuel Mazzara 2 Kazuhiko Kato 1 1 University of Tsukuba Department of

### Certified PHP/MySQL Web Developer Course

Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,

### Japan Communication India Skill Development Center

Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server

### CHAPTER 1 INTRODUCTION

1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful

### Customer experiences in implemen0ng SKOS- based vocabulary management systems, Ralph Hodgson, TopQuadrant. CWI, Amsterdam, April 3, 2014

LDBC Consor*um Fourth Technical User Community (TUC) mee*ng Customer experiences in implemen0ng SKOS- based vocabulary management systems, and other Seman0c- Technology- Driven Systems. Ralph Hodgson,

### Design Patterns for Games

Design Patterns for Games Dung ( Zung ) Nguyen and Stephen B. Wong Dept. of Computer Science Rice University Houston, TX 77005 dxnguyen@rice.edu, swong@rice.edu Abstract Designing a two-person game involves

### Reputation Management Algorithms & Testing. Andrew G. West November 3, 2008

Reputation Management Algorithms & Testing Andrew G. West November 3, 2008 EigenTrust EigenTrust (Hector Garcia-molina, et. al) A normalized vector-matrix multiply based method to aggregate trust such

### Strategies for Medical Device So2ware Development Presented By Anthony Giles of Blackwood Embedded Solu;ons And a Case Study by Francis Amoah of Creo

Strategies for Medical Device So2ware Development Presented By Anthony Giles of Blackwood Embedded Solu;ons And a Case Study by Francis Amoah of Creo Medical Introduc;on Standards 60601-1 in par;cular