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.

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

More information

Model Checking: An Introduction

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

More information

Assignment 2: More MapReduce with Hadoop

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

More information

«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 : 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

More information

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

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

More information

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

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

More information

KWIC Implemented with Pipe Filter Architectural Style

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

More information

CMMI for High-Performance with TSP/PSP

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

More information

Run$me Query Op$miza$on

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

More information

Nodes, Ties and Influence

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

More information

Model Checking based Software Verification

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

More information

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

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

More information

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

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

More information

Implementing and Maintaining Microsoft SQL Server 2008 Integration Services

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

More information

Telephone Related Queries (TeRQ) IETF 85 (Atlanta)

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

More information

CS 5150 So(ware Engineering Evalua4on and User Tes4ng

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

More information

Converting a Number from Decimal to Binary

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

More information

BP2SAN From Business Processes to Stochastic Automata Networks

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

More information

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

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

More information

Intrusion Detection via Static Analysis

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

More information

Leveraging Expert Instructional Design Strategies to Develop Quality Online Courses

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

More information

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

More information

Seminar: So#ware Engineering of Embedded Systems

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

More information

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

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

More information

Agile Software Development

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

More information

Graph Database Proof of Concept Report

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

More information

MA-WA1920: Enterprise iphone and ipad Programming

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

More information

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

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

More information

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.

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

More information

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

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

More information

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

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

More information

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

More information

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

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

More information

ReproLite : A Lightweight Tool to Quickly Reproduce Hard System Bugs

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)

More information

Advanced Software Test Design Techniques Use Cases

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

More information

Formal Verification by Model Checking

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

More information

Investigating Program Behavior Using the Texada LTL Specifications Miner

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,

More information

Japan Communication India Skill Development Center

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)

More information

Data Structure [Question Bank]

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:

More information

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

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

More information

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

More information

Model Checking of Software

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

More information

Bad code smells Refactoring Example

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

More information

Testing LTL Formula Translation into Büchi Automata

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

More information

How To Test Automatically

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

More information

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

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

More information

UML TUTORIALS THE USE CASE MODEL

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

More information

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

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

More information

So#ware Product Lines for Automa5c Mul5- Cloud Configura5on

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

More information

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

More information

How to Write a Checker in 24 Hours

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

More information

ANALYTICAL TECHNIQUES FOR DATA VISUALIZATION

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

More information

How to test and debug an ASP.NET application

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

More information

University of Utah WAN Firewall Presenta6on

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

More information

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

More information

Using Eclipse CDT/PTP for Static Analysis

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

More information

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

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

More information

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

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

More information

Software Architecture Document

Software Architecture Document Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2

More information

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

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

More information

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

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

More information

Introduction to Synoptic

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,

More information

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

More information

Hadoop Technology for Flow Analysis of the Internet Traffic

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

More information

CMSC5733 Social Computing

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

More information

Settlers of Catan Phase 1

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

More information

VDM vs. Programming Language Extensions or their Integration

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,

More information

Japan Communication India Skill Development Center

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

More information

Introducing BRAD - the New Standard for Print on Demand

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

More information

MiniDraw Introducing a framework... and a few patterns

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

More information

Android Provenance: Debugging Device Disorders

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

More information

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

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)

More information

1 File Processing Systems

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.

More information

The DATA Difference Targe.ng for Stronger ROI!

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

More information

Adapter, Bridge, and Façade

Adapter, Bridge, and Façade 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.

More information

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

More information

Fundamentals of Web Programming a

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

More information

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

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

More information

Project Por)olio Management

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)

More information

Japan Communication India Skill Development Center

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

More information

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

More information

CCaaS: Online Conformance Checking as a Service

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,

More information

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

More information

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

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

More information

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

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

More information

Developing Microsoft SharePoint Server 2013 Advanced Solutions MOC 20489

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

More information

Binary Search Trees CMPSC 122

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

More information

ANALYTICS IN BIG DATA ERA

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

More information

CS473 - Algorithms I

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

More information

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY

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

More information

Certified PHP/MySQL Web Developer Course

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,

More information

Japan Communication India Skill Development Center

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

More information

CHAPTER 1 INTRODUCTION

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

More information

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

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,

More information

Design Patterns for Games

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

More information

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

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

More information

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

More information

Apparo Fast Edit. Excel data import via email 1 / 19

Apparo Fast Edit. Excel data import via email 1 / 19 Apparo Fast Edit Excel data import via email 1 / 19 1 2 3 4 5 Definition 3 Benefits at a glance 3 Example 4 3.1 Use Case 4 3.2 How users experience this feature 4 Email ImportBusiness Case 6 4.1 Creating

More information

Data Structures. Chapter 8

Data Structures. Chapter 8 Chapter 8 Data Structures Computer has to process lots and lots of data. To systematically process those data efficiently, those data are organized as a whole, appropriate for the application, called a

More information