Protocol Analysis / Analysis of Software Artifacts Kevin Bierhoff

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Protocol Analysis. 17-654/17-764 Analysis of Software Artifacts Kevin Bierhoff"

Transcription

1 Protocol Anlysis / Anlysis of Softwre Artifcts Kevin Bierhoff

2 Tke-Awys Protocols define temporl ordering of events Cn often be cptured with stte mchines Protocol nlysis needs to py ttention to Interprocedurl control flow Alising of objects Disjoint sets nd cpbilities cn hndle lising correctly 2

3 Agend Exmple protocols Modeling protocols s stte mchines Protocol nlysis pproches Annottions vs. interprocedurl nlyses Alising chllenges Trcking lises in methods nd fields Protocol implementtion checking 3

4 Strems cn be red until they re closed public interfce InputStrem { public int red(); public void close(); } Strem smple client InputStrem f = new FileInputStrem( ); int c = f.red(); // red first chrcter while(c >= 0) { // do something with c c = f.red(); // red next chrcter } f.close(); Strem protocol stte mchine red() open close() closed 4

5 Sockets go through welldefined sequence of creted, connected, closed }) public clss Socket creted ) public creted, connected ) public void connect( connected ) public InputStrem getinputstrem() Jv Socket protocol creted connect( ) getinputstrem() connected connected ) public OutputStrem connected, closed ) public void close(); close() closed 5

6 Jv Applets hve funny bck edge Jv Applet protocol creted strt() init() initilized strt() running stop() stopped destroy() destroyed Exmple bsed on: G. Firbnks, D. Grln & W. Scherlis. Design frgments mke using frmeworks esier. In Proceedings of OOPSLA 06, pp ACM Press,

7 Crystl3 nlyses hve the sme bck edge creted Crystl3 method nlysis protocol beforeallmethods() nlyzemethod( ) running beforeallmethods() fterallmethods() done Unwreness of this bck edge cn led to outdted error reports 7

8 Protocols constrin temporl ordering of events Protocols define restrictions on which methods cn be clled when Clients hve to follow protocols in order to void runtime errors Protocols cn often be modeled s stte mchines 8

9 Protocol documenttion Protocols re informlly documented Exmple: jv.io.inputstrem Detiled Jvdoc for every method Exmple: jv.net.socket Exceptions describe when methods cnnot be clled Not lwys complete nd precise 9

10 formlized in vrious wys Formliztion Annottions on clsses nd methods Regulr expressions Stte mchine defined in one plce (similr to Metl) Socket creted, connected, closed }) public clss Socket creted ) public creted, connected ) public void connect( ) connect (getinputstrem getoutputstrem)* close creted : connect( ) -> connected connected : getinputstrem() -> connected close() -> closed We will use nnottions on clsses nd methods 10

11 Agend Exmple protocols Modeling protocols s stte mchines Protocol nlysis pproches Annottions vs. interprocedurl nlyses Alising chllenges Trcking lises in methods nd fields Protocol implementtion checking 11

12 Protocol nlysis trcks sttes of vribles Socket sock = new Socket(); sock.connect(new InetSocketAddress( " InputStrem in = sock.getinputstrem(); sock.close(); Post-stte Creted Connected Connected Closed Wht if sock is ssigned to nother vrible? Wht if sock is ssigned to field? Wht if sock is pssed to nother method? 12

13 Clling other methods public clss SocketClient { privte String redsocket(socket s) { InputStrem in = s.getinputstrem(); // red nd return string } public String redremotedt() { Socket sock = new Socket(); sock.connect(new InetSocketAddress( " String result = redsocket(sock); sock.close(); return result; } } Is this cll ok? Is this cll ok? Need to hndle inter-procedurl control flow 13

14 Interprocedurl nlysis techniques Need to hndle inter-procedurl control flow Every method cll could potentilly ffect nlysis results Need to figure out wht hppens in clled methods Some possible pproches Defult ssumptions Interprocedurl CFG More nnottions 14

15 Defults too inflexible for protocol nlysis Simple pproch: defult ssumptions Assumption bout method prmeters nd result Check tht cll nd return sites respect the defult Exmple: Mybe-null ssumption in null nlysis (HW6) Assume tht method prmeters my be null Check methods with tht ssumption All cll nd return sites utomticlly mybe-null No resonble defult for protocol nlysis Any stte too imprecise (lots of flse positives) Optimistic ssumption ( prticulr stte) might be wrong lot of the times 15

16 Interprocedurl CFG inlines method clls Interprocedurl CFG Pretend tht clled methods re prt of current method Every method ppers once Problem: sclbility One big CFG for the entire progrm BEGIN sock = new Socket(); sock.connect( ); redsocket(sock); sock.close(); BEGIN s.getinputstrem(); END END Interprocedurl CFG hrd to use t scle 16

17 Assume nd Check Annottions Annottions Strting dtflow vlue for ll prmeters Dtflow vlue for result Verifiction Initil info: strting vlue for prmeters Verify result nnottion result Ending vlue for result obeys nnottion Verify rg nnottion rg String connected ) Socket s) { InputStrem in = s.getinputstrem(); } Actul rguments obey nnottions on forml prmeter 17

18 Agend Exmple protocols Modeling protocols s stte mchines Protocol nlysis pproches Annottions vs. interprocedurl nlyses Alising chllenges Trcking lises in methods nd fields Protocol implementtion checking 18

19 Looks fmilir? Alising is problem tht you cn esily hve t1 t2 t3 SimpleProtocolTest t1 = new SimpleProtocolTest(); SimpleProtocolTest t2 = new SimpleProtocolTest(); -- SimpleProtocolTest t3 = t1; t1.tob(); b // t1 lis t3 in b, t2 in t1 = t2; // t3 in b, t1 lis t2 in t1.tob(); t3.btoc(); Spurious wrnings b b ERR t2.inb(); b ERR // t1 lis t2 in b, t3 in c Alising = multiple nmes for the sme thing 19

20 Trck locl lises s disjoint sets (k equivlence clsses) Trck lised vribles s disjoint sets Lttice informtion A = { S1,, Sn } S1,, Sn disjoint sets of vribles Copy instructions x = y Get y s lises S A where y S Add x to S (nd remove it from ny other set) Object lloctions x = new C( ) Remove x from existing sets A = A { x } (i.e., dd new set with just x) (Need to lso set initil stte for x) Trck stte for ech disjoint set Method clls x = y.m( ) Get y s lises S = { y1,, yn } where y S Updte S s stte ccording to m s spec 20

21 Disjoint sets correctly hndle locl lises in exmple lising t1 t2 t3 SimpleProtocolTest t1 = new SimpleProtocolTest(); {t1} SimpleProtocolTest t2 = new SimpleProtocolTest(); {t1}, {t2} -- SimpleProtocolTest t3 = t1; {t1,t3}, {t2} t1.tob(); {t1,t3}, {t2} b b // t1 lis t3 in b, t2 in t1 = t2; {t1,t2}, {t3} b // t3 in b, t1 lis t2 in t1.tob(); {t1,t2}, {t3} b b b t3.btoc(); {t1,t2}, {t3} b b c t2.inb(); {t1,t2}, {t3} b b c // t1 lis t2 in b, t3 in c Sttes of lised vribles re updted correctly 21

22 Clling other methods cn ffect fields public clss AlisingFun() b ) privte SimpleProtocolTest t2; Our pproch so fr does not issue ny wrnings privte void cllfield() { t2.inb(); Field nnottion mkes this cll go through } public void lisingfun() { SimpleProtocolTest t1 = new t2 is SimpleProtocolTest(); ctully in c when clled t1.tob(); internl(t1); This cll violtes t2 s nnottion t1.btoc(); cllfield(); privte void b ) SimpleProtocolTest t) { t2 = t; t2 lises t nd t1 } } Fields hold on to objects beyond durtion of methods 22

23 Alising through fields different from locl vribles Alising in locl vribles ffects current method only We cn hndle tht with disjoint sets Fields hold on to objects Assignment to field in one method cn ffect other methods Chnging stte of locl vrible cn indvertently chnge stte of field Other situtions with similr problems? 23

24 Cpbilities trck whether n object is ccessible Cpbilities: Access objects only if not stored in field Exctly one cpbility for ech object Cn cll methods only if cpbility vilble x.m( ) only vlid if cller hs cpbility for x Cpbility creted with new Field ssignments x.f = y Cpture cpbility for y Annotte methods with if cpbility needed but not if cpbility needed nd returned 24

25 Cpbilities correctly hndle field ssignments nd method clls public clss AlisingFun() b ) privte SimpleProtocolTest t; privte void cllfield() { t.inb(); } public void lisingfun() { SimpleProtocolTest t1 = new SimpleProtocolTest(); } t1.tob(); internl(t1); t1.btoc(); cllfield(); Error: No cpbility for t1 privte void SimpleProtocolTest t) { } privte void SimpleProtocolTest t) { t2 = t; } 25

26 Disjoint sets nd cpbilities cn hndle lising correctly Trck disjoint sets of locl lises Hndle copies between locl vribles One cpbility for ech object Hndle ssignments to fields Cpbility nnottions on methods Hndle lising during method clls F. Smith, D. Wlker & G. Morrisett. Alis types. In Europen Symposium on Progrmming, pges Springer, R. DeLine & M. Fähndrich. Enforcing high-level protocols in low-level softwre. In ACM Conference on Progrmming Lnguge Design nd Implementtion, pges 59-69,

27 Cpbilities re sometimes not enough Source clls receive(byte) to deposit chrcters ReceivedLst() signls no more chrcters in in Pipe out out Reder clls red() to retrieve chrcters Reder clls close() to close the pipe Unsfe to cll close() before source finished within eof closed red() returns -1 Pipe is modified through two independent lises 27

28 Permissions for shred ccess Permissions generlize cpbilities Permission required for ll object ccess Mny permissions to the sme object cn exist But keep trck of how mny permissions there re Unique(x) is the only existing permission for object referenced by x Similr to cpbility for x Hlf(x) is one of two permissions for x Hlf(x) + Hlf(x) = Unique(x) 28

29 Permissions in pipe exmple Source clls receive(byte) to deposit chrcters ReceivedLst() signls no more chrcters Hlf(snk) in in Pipe out out Reder clls red() to retrieve chrcters Reder clls close() to close the pipe Unsfe to cll close() before source finished Hlf(s) Unique(s) Hlf + Hlf => Unique Hlf(this) within eof closed red() returns -1 Chnge to eof with Hlf permission Unique permission needed to close the pipe 29

30 Agend Exmple protocols Modeling protocols s stte mchines Protocol nlysis pproches Annottions vs. interprocedurl nlyses Alising chllenges Trcking lises in methods nd fields Protocol implementtion checking 30

31 Implementtion checking trcks chnges to fields So fr we looked t clients Code clling methods on sockets etc. Assumed tht declred protocol ws right Checking protocol implementtions Does this chnge stte s declred? Stte chnges = field mnipultions Protocols ensure tht something hppened lredy (or hs not hppened yet) Something cn (only) be recorded in fields 31

32 Stte invrints define sttes in terms of fields client Buffered strem public clss BufferedInputStrem { privte InputStrem in; privte byte[] buffer; privte int pos, count; // open: in instte (within eof) && buffer!= null && 0 pos count && count buffer.length // closed: in == null && buffer == null in Underlying strem Stte invrints constrin fields Constrints on field vlues E.g., greter thn zero or non-null Expected stte of referenced object E.g., underlying strem should be within or eof but only while in prticulr stte close() will chnge fields ccordingly 32

33 Don t forget lising! client Buffered strem in Underlying strem public clss BufferedInputStrem { privte InputStrem in; privte byte[] buffer; privte int pos, count; // open: in instte (within eof) && buffer!= null && 0 pos count && count buffer.length // closed: in == null && buffer == null Wht hppens when the underlying strem clls bck to the buffer? As it turns out, such re-entrnt cllbck cn violte count s invrint, leding to n ccess to buffer outside its bounds. 33

Virtual Machine. Part II: Program Control. Building a Modern Computer From First Principles. www.nand2tetris.org

Virtual Machine. Part II: Program Control. Building a Modern Computer From First Principles. www.nand2tetris.org Virtul Mchine Prt II: Progrm Control Building Modern Computer From First Principles www.nnd2tetris.org Elements of Computing Systems, Nisn & Schocken, MIT Press, www.nnd2tetris.org, Chpter 8: Virtul Mchine,

More information

Use Geometry Expressions to create a more complex locus of points. Find evidence for equivalence using Geometry Expressions.

Use Geometry Expressions to create a more complex locus of points. Find evidence for equivalence using Geometry Expressions. Lerning Objectives Loci nd Conics Lesson 3: The Ellipse Level: Preclculus Time required: 120 minutes In this lesson, students will generlize their knowledge of the circle to the ellipse. The prmetric nd

More information

Object Semantics. 6.170 Lecture 2

Object Semantics. 6.170 Lecture 2 Object Semntics 6.170 Lecture 2 The objectives of this lecture re to: to help you become fmilir with the bsic runtime mechnism common to ll object-oriented lnguges (but with prticulr focus on Jv): vribles,

More information

Polynomial Functions. Polynomial functions in one variable can be written in expanded form as ( )

Polynomial Functions. Polynomial functions in one variable can be written in expanded form as ( ) Polynomil Functions Polynomil functions in one vrible cn be written in expnded form s n n 1 n 2 2 f x = x + x + x + + x + x+ n n 1 n 2 2 1 0 Exmples of polynomils in expnded form re nd 3 8 7 4 = 5 4 +

More information

Finite Automata. Informatics 2A: Lecture 3. John Longley. 25 September School of Informatics University of Edinburgh

Finite Automata. Informatics 2A: Lecture 3. John Longley. 25 September School of Informatics University of Edinburgh Lnguges nd Automt Finite Automt Informtics 2A: Lecture 3 John Longley School of Informtics University of Edinburgh jrl@inf.ed.c.uk 25 September 2015 1 / 30 Lnguges nd Automt 1 Lnguges nd Automt Wht is

More information

Homework 3 Solutions

Homework 3 Solutions CS 341: Foundtions of Computer Science II Prof. Mrvin Nkym Homework 3 Solutions 1. Give NFAs with the specified numer of sttes recognizing ech of the following lnguges. In ll cses, the lphet is Σ = {,1}.

More information

MATLAB: M-files; Numerical Integration Last revised : March, 2003

MATLAB: M-files; Numerical Integration Last revised : March, 2003 MATLAB: M-files; Numericl Integrtion Lst revised : Mrch, 00 Introduction to M-files In this tutoril we lern the bsics of working with M-files in MATLAB, so clled becuse they must use.m for their filenme

More information

Regular Sets and Expressions

Regular Sets and Expressions Regulr Sets nd Expressions Finite utomt re importnt in science, mthemtics, nd engineering. Engineers like them ecuse they re super models for circuits (And, since the dvent of VLSI systems sometimes finite

More information

Section 5.2, Commands for Configuring ISDN Protocols. Section 5.3, Configuring ISDN Signaling. Section 5.4, Configuring ISDN LAPD and Call Control

Section 5.2, Commands for Configuring ISDN Protocols. Section 5.3, Configuring ISDN Signaling. Section 5.4, Configuring ISDN LAPD and Call Control Chpter 5 Configurtion of ISDN Protocols This chpter provides instructions for configuring the ISDN protocols in the SP201 for signling conversion. Use the sections tht reflect the softwre you re configuring.

More information

Enterprise Risk Management Software Buyer s Guide

Enterprise Risk Management Software Buyer s Guide Enterprise Risk Mngement Softwre Buyer s Guide 1. Wht is Enterprise Risk Mngement? 2. Gols of n ERM Progrm 3. Why Implement ERM 4. Steps to Implementing Successful ERM Progrm 5. Key Performnce Indictors

More information

AntiSpyware Enterprise Module 8.5

AntiSpyware Enterprise Module 8.5 AntiSpywre Enterprise Module 8.5 Product Guide Aout the AntiSpywre Enterprise Module The McAfee AntiSpywre Enterprise Module 8.5 is n dd-on to the VirusScn Enterprise 8.5i product tht extends its ility

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

1.00/1.001 Introduction to Computers and Engineering Problem Solving Fall 2011 - Final Exam

1.00/1.001 Introduction to Computers and Engineering Problem Solving Fall 2011 - Final Exam 1./1.1 Introduction to Computers nd Engineering Problem Solving Fll 211 - Finl Exm Nme: MIT Emil: TA: Section: You hve 3 hours to complete this exm. In ll questions, you should ssume tht ll necessry pckges

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology

More information

Reasoning to Solve Equations and Inequalities

Reasoning to Solve Equations and Inequalities Lesson4 Resoning to Solve Equtions nd Inequlities In erlier work in this unit, you modeled situtions with severl vriles nd equtions. For exmple, suppose you were given usiness plns for concert showing

More information

Unleashing the Power of Cloud

Unleashing the Power of Cloud Unleshing the Power of Cloud A Joint White Pper by FusionLyer nd NetIQ Copyright 2015 FusionLyer, Inc. All rights reserved. No prt of this publiction my be reproduced, stored in retrievl system, or trnsmitted,

More information

Data replication in mobile computing

Data replication in mobile computing Technicl Report, My 2010 Dt repliction in mobile computing Bchelor s Thesis in Electricl Engineering Rodrigo Christovm Pmplon HALMSTAD UNIVERSITY, IDE SCHOOL OF INFORMATION SCIENCE, COMPUTER AND ELECTRICAL

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Quadratic Equations. Math 99 N1 Chapter 8

Quadratic Equations. Math 99 N1 Chapter 8 Qudrtic Equtions Mth 99 N1 Chpter 8 1 Introduction A qudrtic eqution is n eqution where the unknown ppers rised to the second power t most. In other words, it looks for the vlues of x such tht second degree

More information

Health insurance marketplace What to expect in 2014

Health insurance marketplace What to expect in 2014 Helth insurnce mrketplce Wht to expect in 2014 33096VAEENBVA 06/13 The bsics of the mrketplce As prt of the Affordble Cre Act (ACA or helth cre reform lw), strting in 2014 ALL Americns must hve minimum

More information

Small Business Networking

Small Business Networking Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology

More information

Tests for One Poisson Mean

Tests for One Poisson Mean Chpter 412 Tests for One Poisson Men Introduction The Poisson probbility lw gives the probbility distribution of the number of events occurring in specified intervl of time or spce. The Poisson distribution

More information

Vendor Rating for Service Desk Selection

Vendor Rating for Service Desk Selection Vendor Presented By DATE Using the scores of 0, 1, 2, or 3, plese rte the vendor's presenttion on how well they demonstrted the functionl requirements in the res below. Also consider how efficient nd functionl

More information

Health insurance exchanges What to expect in 2014

Health insurance exchanges What to expect in 2014 Helth insurnce exchnges Wht to expect in 2014 33096CAEENABC 02/13 The bsics of exchnges As prt of the Affordble Cre Act (ACA or helth cre reform lw), strting in 2014 ALL Americns must hve minimum mount

More information

Java CUP. Java CUP Specifications. User Code Additions You may define Java code to be included within the generated parser:

Java CUP. Java CUP Specifications. User Code Additions You may define Java code to be included within the generated parser: Jv CUP Jv CUP is prser-genertion tool, similr to Ycc. CUP uilds Jv prser for LALR(1) grmmrs from production rules nd ssocited Jv code frgments. When prticulr production is recognized, its ssocited code

More information

TEACHER S QUICK REFERENCE

TEACHER S QUICK REFERENCE Go to www.myon.com Click Login now. LOGIN Enter your School nme, Usernme nd Pssword, nd click OK. GROUPS From the home pge, click Crete group. Select group nme nd description nd enter them into the pproprite

More information

Project 6 Aircraft static stability and control

Project 6 Aircraft static stability and control Project 6 Aircrft sttic stbility nd control The min objective of the project No. 6 is to compute the chrcteristics of the ircrft sttic stbility nd control chrcteristics in the pitch nd roll chnnel. The

More information

Database-Backed Program Analysis for Scalable Error Propagation

Database-Backed Program Analysis for Scalable Error Propagation Dtbse-Bcked Progrm Anlysis for Sclble Error Propgtion Cthrin Weiss cthrin.weiss@gmil.com Cindy Rubio-González University of Cliforni, Dvis crubio@ucdvis.edu Ben Liblit University of Wisconsin Mdison liblit@cs.wisc.edu

More information

ClearPeaks Customer Care Guide. Business as Usual (BaU) Services Peace of mind for your BI Investment

ClearPeaks Customer Care Guide. Business as Usual (BaU) Services Peace of mind for your BI Investment ClerPeks Customer Cre Guide Business s Usul (BU) Services Pece of mind for your BI Investment ClerPeks Customer Cre Business s Usul Services Tble of Contents 1. Overview...3 Benefits of Choosing ClerPeks

More information

Quick Reference Guide: One-time Account Update

Quick Reference Guide: One-time Account Update Quick Reference Guide: One-time Account Updte How to complete The Quick Reference Guide shows wht existing SingPss users need to do when logging in to the enhnced SingPss service for the first time. 1)

More information

Introducing Kashef for Application Monitoring

Introducing Kashef for Application Monitoring WextWise 2010 Introducing Kshef for Appliction The Cse for Rel-time monitoring of dtcenter helth is criticl IT process serving vriety of needs. Avilbility requirements of 6 nd 7 nines of tody SOA oriented

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-280 Technicl notes on using Anlog Devices DSPs, processors nd development tools Visit our Web resources http://www.nlog.com/ee-notes nd http://www.nlog.com/processors or e-mil

More information

Network Configuration Independence Mechanism

Network Configuration Independence Mechanism 3GPP TSG SA WG3 Security S3#19 S3-010323 3-6 July, 2001 Newbury, UK Source: Title: Document for: AT&T Wireless Network Configurtion Independence Mechnism Approvl 1 Introduction During the lst S3 meeting

More information

Mathematics. Vectors. hsn.uk.net. Higher. Contents. Vectors 128 HSN23100

Mathematics. Vectors. hsn.uk.net. Higher. Contents. Vectors 128 HSN23100 hsn.uk.net Higher Mthemtics UNIT 3 OUTCOME 1 Vectors Contents Vectors 18 1 Vectors nd Sclrs 18 Components 18 3 Mgnitude 130 4 Equl Vectors 131 5 Addition nd Subtrction of Vectors 13 6 Multipliction by

More information

Math 135 Circles and Completing the Square Examples

Math 135 Circles and Completing the Square Examples Mth 135 Circles nd Completing the Squre Exmples A perfect squre is number such tht = b 2 for some rel number b. Some exmples of perfect squres re 4 = 2 2, 16 = 4 2, 169 = 13 2. We wish to hve method for

More information

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

Small Business Networking

Small Business Networking Why Network is n Essentil Productivity Tool for Any Smll Business TechAdvisory.org SME Reports sponsored by Effective technology is essentil for smll businesses looking to increse their productivity. Computer

More information

1. The leves re either lbeled with sentences in ;, or with sentences of the form All X re X. 2. The interior leves hve two children drwn bove them) if

1. The leves re either lbeled with sentences in ;, or with sentences of the form All X re X. 2. The interior leves hve two children drwn bove them) if Q520 Notes on Nturl Logic Lrry Moss We hve seen exmples of wht re trditionlly clled syllogisms lredy: All men re mortl. Socrtes is mn. Socrtes is mortl. The ide gin is tht the sentences bove the line should

More information

One Minute To Learn Programming: Finite Automata

One Minute To Learn Programming: Finite Automata Gret Theoreticl Ides In Computer Science Steven Rudich CS 15-251 Spring 2005 Lecture 9 Fe 8 2005 Crnegie Mellon University One Minute To Lern Progrmming: Finite Automt Let me tech you progrmming lnguge

More information

Modular Generic Verification of LTL Properties for Aspects

Modular Generic Verification of LTL Properties for Aspects Modulr Generic Verifiction of LTL Properties for Aspects Mx Goldmn Shmuel Ktz Computer Science Deprtment Technion Isrel Institute of Technology {mgoldmn, ktz}@cs.technion.c.il ABSTRACT Aspects re seprte

More information

Econ 4721 Money and Banking Problem Set 2 Answer Key

Econ 4721 Money and Banking Problem Set 2 Answer Key Econ 472 Money nd Bnking Problem Set 2 Answer Key Problem (35 points) Consider n overlpping genertions model in which consumers live for two periods. The number of people born in ech genertion grows in

More information

Chapter 6 Solving equations

Chapter 6 Solving equations Chpter 6 Solving equtions Defining n eqution 6.1 Up to now we hve looked minly t epressions. An epression is n incomplete sttement nd hs no equl sign. Now we wnt to look t equtions. An eqution hs n = sign

More information

Small Business Cloud Services

Small Business Cloud Services Smll Business Cloud Services Summry. We re thick in the midst of historic se-chnge in computing. Like the emergence of personl computers, grphicl user interfces, nd mobile devices, the cloud is lredy profoundly

More information

baby on the way, quit today

baby on the way, quit today for mums-to-be bby on the wy, quit tody WHAT YOU NEED TO KNOW bout smoking nd pregnncy uitting smoking is the best thing you cn do for your bby We know tht it cn be difficult to quit smoking. But we lso

More information

In the following there are presented four different kinds of simulation games for a given Büchi automaton A = :

In the following there are presented four different kinds of simulation games for a given Büchi automaton A = : Simultion Gmes Motivtion There re t lest two distinct purposes for which it is useful to compute simultion reltionships etween the sttes of utomt. Firstly, with the use of simultion reltions it is possile

More information

Variable Dry Run (for Python)

Variable Dry Run (for Python) Vrile Dr Run (for Pthon) Age group: Ailities ssumed: Time: Size of group: Focus Vriles Assignment Sequencing Progrmming 7 dult Ver simple progrmming, sic understnding of ssignment nd vriles 20-50 minutes

More information

JaERM Software-as-a-Solution Package

JaERM Software-as-a-Solution Package JERM Softwre-s--Solution Pckge Enterprise Risk Mngement ( ERM ) Public listed compnies nd orgnistions providing finncil services re required by Monetry Authority of Singpore ( MAS ) nd/or Singpore Stock

More information

In-circuit temporal monitors for runtime verification of reconfigurable designs

In-circuit temporal monitors for runtime verification of reconfigurable designs In-circuit temporl monitors for runtime verifiction of reconfigurble designs Tim Todmn Deprtment of Computing Imperil College London tephn tilkerich Airbus Group Innovtions Willy-Messerschmitt tr., Wyne

More information

Lecture 15 - Curve Fitting Techniques

Lecture 15 - Curve Fitting Techniques Lecture 15 - Curve Fitting Techniques Topics curve fitting motivtion liner regression Curve fitting - motivtion For root finding, we used given function to identify where it crossed zero where does fx

More information

VoIP for the Small Business

VoIP for the Small Business Reducing your telecommunictions costs VoIP (Voice over Internet Protocol) offers low cost lterntive to expensive trditionl phone services nd is rpidly becoming the communictions system of choice for smll

More information

Integration. 148 Chapter 7 Integration

Integration. 148 Chapter 7 Integration 48 Chpter 7 Integrtion 7 Integrtion t ech, by supposing tht during ech tenth of second the object is going t constnt speed Since the object initilly hs speed, we gin suppose it mintins this speed, but

More information

What is the closest Metro/Train or Bus station? The T - (www.the-t.com)

What is the closest Metro/Train or Bus station? The T - (www.the-t.com) Are GABLES 411: Sutter Creek Where is the closest post office? Locted 5.3 miles from the community, t the intersection of E Prk Row Dr. nd New York Ave. Below is the ddress nd phone number for your reference.

More information

ASG Techniques of Adaptivity

ASG Techniques of Adaptivity ASG Techniques of Adptivity Hrld Meyer nd Dominik Kuropk nd Peter Tröger Hsso-Plttner-Institute for IT-Systems-Engineering t the University of Potsdm Prof.-Dr.-Helmert-Strsse 2-3, 14482 Potsdm, Germny

More information

Union, Intersection and Complement. Formal Foundations Computer Theory

Union, Intersection and Complement. Formal Foundations Computer Theory Union, Intersection nd Complement FAs Union, Intersection nd Complement FAs Forml Foundtions Computer Theory Ferury 21, 2013 This hndout shows (y exmples) how to construct FAs for the union, intersection

More information

Net Change and Displacement

Net Change and Displacement mth 11, pplictions motion: velocity nd net chnge 1 Net Chnge nd Displcement We hve seen tht the definite integrl f (x) dx mesures the net re under the curve y f (x) on the intervl [, b] Any prt of the

More information

PROF. BOYAN KOSTADINOV NEW YORK CITY COLLEGE OF TECHNOLOGY, CUNY

PROF. BOYAN KOSTADINOV NEW YORK CITY COLLEGE OF TECHNOLOGY, CUNY MAT 0630 INTERNET RESOURCES, REVIEW OF CONCEPTS AND COMMON MISTAKES PROF. BOYAN KOSTADINOV NEW YORK CITY COLLEGE OF TECHNOLOGY, CUNY Contents 1. ACT Compss Prctice Tests 1 2. Common Mistkes 2 3. Distributive

More information

Techniques for Requirements Gathering and Definition. Kristian Persson Principal Product Specialist

Techniques for Requirements Gathering and Definition. Kristian Persson Principal Product Specialist Techniques for Requirements Gthering nd Definition Kristin Persson Principl Product Specilist Requirements Lifecycle Mngement Elicit nd define business/user requirements Vlidte requirements Anlyze requirements

More information

License Manager Installation and Setup

License Manager Installation and Setup The Network License (concurrent-user) version of e-dpp hs hrdwre key plugged to the computer running the License Mnger softwre. In the e-dpp terminology, this computer is clled the License Mnger Server.

More information

Integration by Substitution

Integration by Substitution Integrtion by Substitution Dr. Philippe B. Lvl Kennesw Stte University August, 8 Abstrct This hndout contins mteril on very importnt integrtion method clled integrtion by substitution. Substitution is

More information

Helicopter Theme and Variations

Helicopter Theme and Variations Helicopter Theme nd Vritions Or, Some Experimentl Designs Employing Pper Helicopters Some possible explntory vribles re: Who drops the helicopter The length of the rotor bldes The height from which the

More information

In this section make precise the idea of a matrix inverse and develop a method to find the inverse of a given square matrix when it exists.

In this section make precise the idea of a matrix inverse and develop a method to find the inverse of a given square matrix when it exists. Mth 52 Sec S060/S0602 Notes Mtrices IV 5 Inverse Mtrices 5 Introduction In our erlier work on mtrix multipliction, we sw the ide of the inverse of mtrix Tht is, for squre mtrix A, there my exist mtrix

More information

On the Meaning of Regression Coefficients for Categorical and Continuous Variables: Model I and Model II; Effect Coding and Dummy Coding

On the Meaning of Regression Coefficients for Categorical and Continuous Variables: Model I and Model II; Effect Coding and Dummy Coding Dt_nlysisclm On the Mening of Regression for tegoricl nd ontinuous Vribles: I nd II; Effect oding nd Dummy oding R Grdner Deprtment of Psychology This describes the simple cse where there is one ctegoricl

More information

Treatment Spring Late Summer Fall 0.10 5.56 3.85 0.61 6.97 3.01 1.91 3.01 2.13 2.99 5.33 2.50 1.06 3.53 6.10 Mean = 1.33 Mean = 4.88 Mean = 3.

Treatment Spring Late Summer Fall 0.10 5.56 3.85 0.61 6.97 3.01 1.91 3.01 2.13 2.99 5.33 2.50 1.06 3.53 6.10 Mean = 1.33 Mean = 4.88 Mean = 3. The nlysis of vrince (ANOVA) Although the t-test is one of the most commonly used sttisticl hypothesis tests, it hs limittions. The mjor limittion is tht the t-test cn be used to compre the mens of only

More information

2. Transaction Cost Economics

2. Transaction Cost Economics 3 2. Trnsction Cost Economics Trnsctions Trnsctions Cn Cn Be Be Internl Internl or or Externl Externl n n Orgniztion Orgniztion Trnsctions Trnsctions occur occur whenever whenever good good or or service

More information

GFI MilArchiver 6 vs Quest Softwre Archive Mnger GFI Softwre www.gfi.com GFI MilArchiver 6 vs Quest Softwre Archive Mnger GFI MilArchiver 6 Quest Softwre Archive Mnger Who we re Generl fetures Supports

More information

EasyMP Network Projection Operation Guide

EasyMP Network Projection Operation Guide EsyMP Network Projection Opertion Guide Contents 2 About EsyMP Network Projection Functions of EsyMP Network Projection... 5 Vrious Screen Trnsfer Functions... 5 Instlling the Softwre... 6 Softwre Requirements...6

More information

GFI MilArchiver 6 vs C2C Archive One Policy Mnger GFI Softwre www.gfi.com GFI MilArchiver 6 vs C2C Archive One Policy Mnger GFI MilArchiver 6 C2C Archive One Policy Mnger Who we re Generl fetures Supports

More information

Factoring Polynomials

Factoring Polynomials Fctoring Polynomils Some definitions (not necessrily ll for secondry school mthemtics): A polynomil is the sum of one or more terms, in which ech term consists of product of constnt nd one or more vribles

More information

MATH 150 HOMEWORK 4 SOLUTIONS

MATH 150 HOMEWORK 4 SOLUTIONS MATH 150 HOMEWORK 4 SOLUTIONS Section 1.8 Show tht the product of two of the numbers 65 1000 8 2001 + 3 177, 79 1212 9 2399 + 2 2001, nd 24 4493 5 8192 + 7 1777 is nonnegtive. Is your proof constructive

More information

Solving BAMO Problems

Solving BAMO Problems Solving BAMO Problems Tom Dvis tomrdvis@erthlink.net http://www.geometer.org/mthcircles Februry 20, 2000 Abstrct Strtegies for solving problems in the BAMO contest (the By Are Mthemticl Olympid). Only

More information

Diffraction and Interference of Light

Diffraction and Interference of Light rev 12/2016 Diffrction nd Interference of Light Equipment Qty Items Prt Number 1 Light Sensor CI-6504 1 Rotry Motion Sensor CI-6538 1 Single Slit Set OS-8523 1 Multiple Slit Set OS-8523 1 Liner Trnsltor

More information

Algebra Review. How well do you remember your algebra?

Algebra Review. How well do you remember your algebra? Algebr Review How well do you remember your lgebr? 1 The Order of Opertions Wht do we men when we write + 4? If we multiply we get 6 nd dding 4 gives 10. But, if we dd + 4 = 7 first, then multiply by then

More information

Example 27.1 Draw a Venn diagram to show the relationship between counting numbers, whole numbers, integers, and rational numbers.

Example 27.1 Draw a Venn diagram to show the relationship between counting numbers, whole numbers, integers, and rational numbers. 2 Rtionl Numbers Integers such s 5 were importnt when solving the eqution x+5 = 0. In similr wy, frctions re importnt for solving equtions like 2x = 1. Wht bout equtions like 2x + 1 = 0? Equtions of this

More information

Plotting and Graphing

Plotting and Graphing Plotting nd Grphing Much of the dt nd informtion used by engineers is presented in the form of grphs. The vlues to be plotted cn come from theoreticl or empiricl (observed) reltionships, or from mesured

More information

Lecture 3 Basic Probability and Statistics

Lecture 3 Basic Probability and Statistics Lecture 3 Bsic Probbility nd Sttistics The im of this lecture is to provide n extremely speedy introduction to the probbility nd sttistics which will be needed for the rest of this lecture course. The

More information

Section A-4 Rational Expressions: Basic Operations

Section A-4 Rational Expressions: Basic Operations A- Appendi A A BASIC ALGEBRA REVIEW 7. Construction. A rectngulr open-topped bo is to be constructed out of 9- by 6-inch sheets of thin crdbord by cutting -inch squres out of ech corner nd bending the

More information

Source Code verification Using Logiscope and CodeReducer. Christophe Peron Principal Consultant Kalimetrix

Source Code verification Using Logiscope and CodeReducer. Christophe Peron Principal Consultant Kalimetrix Source Code verifiction Using Logiscope nd CodeReducer Christophe Peron Principl Consultnt Klimetrix Agend Introducing Logiscope: Improving confidence nd developer s productivity Bsed on stte-of-the-rt

More information

6.2 Volumes of Revolution: The Disk Method

6.2 Volumes of Revolution: The Disk Method mth ppliction: volumes of revolution, prt ii Volumes of Revolution: The Disk Method One of the simplest pplictions of integrtion (Theorem ) nd the ccumultion process is to determine so-clled volumes of

More information

Kofax Reporting. Administrator's Guide 2.0.0 2013-09-19

Kofax Reporting. Administrator's Guide 2.0.0 2013-09-19 Kofx Reporting 2.0.0 Administrtor's Guide 2013-09-19 2013 Kofx, Inc. All rights reserved. Use is subject to license terms. Third-prty softwre is copyrighted nd licensed from Kofx s suppliers. THIS SOFTWARE

More information

Application Bundles & Data Plans

Application Bundles & Data Plans Appliction Appliction Bundles & Dt Plns We ve got plns for you. Trnsporttion compnies tody ren t one-size-fits-ll. Your fleet s budget, size nd opertions re unique. To meet the needs of your fleet nd help

More information

Rational Functions. Rational functions are the ratio of two polynomial functions. Qx bx b x bx b. x x x. ( x) ( ) ( ) ( ) and

Rational Functions. Rational functions are the ratio of two polynomial functions. Qx bx b x bx b. x x x. ( x) ( ) ( ) ( ) and Rtionl Functions Rtionl unctions re the rtio o two polynomil unctions. They cn be written in expnded orm s ( ( P x x + x + + x+ Qx bx b x bx b n n 1 n n 1 1 0 m m 1 m + m 1 + + m + 0 Exmples o rtionl unctions

More information

VoIP for the Small Business

VoIP for the Small Business VoIP for the Smll Business Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become

More information

VoIP for the Small Business

VoIP for the Small Business Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become vible solution for even the

More information

Test Management using Telelogic DOORS. Francisco López Telelogic DOORS Specialist

Test Management using Telelogic DOORS. Francisco López Telelogic DOORS Specialist Test Mngement using Telelogic DOORS Frncisco López Telelogic DOORS Specilist Introduction Telelogic solution for Requirements Mngement DOORS Requirements mngement nd trcebility pltform for complex systems

More information

Formal Languages and Automata Exam

Formal Languages and Automata Exam Forml Lnguges nd Automt Exm Fculty of Computers & Informtion Deprtment: Computer Science Grde: Third Course code: CSC 34 Totl Mrk: 8 Dte: 23//2 Time: 3 hours Answer the following questions: ) Consider

More information

Section 2.3. Motion Along a Curve. The Calculus of Functions of Several Variables

Section 2.3. Motion Along a Curve. The Calculus of Functions of Several Variables The Clculus of Functions of Severl Vribles Section 2.3 Motion Along Curve Velocity ccelertion Consider prticle moving in spce so tht its position t time t is given by x(t. We think of x(t s moving long

More information

MATLAB Workshop 13 - Linear Systems of Equations

MATLAB Workshop 13 - Linear Systems of Equations MATLAB: Workshop - Liner Systems of Equtions pge MATLAB Workshop - Liner Systems of Equtions Objectives: Crete script to solve commonly occurring problem in engineering: liner systems of equtions. MATLAB

More information

VoIP for the Small Business

VoIP for the Small Business VoIP for the Smll Business Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become

More information

N Mean SD Mean SD Shelf # Shelf # Shelf #

N Mean SD Mean SD Shelf # Shelf # Shelf # NOV xercises smple of 0 different types of cerels ws tken from ech of three grocery store shelves (1,, nd, counting from the floor). summry of the sugr content (grms per serving) nd dietry fiber (grms

More information

Algorithms Chapter 4 Recurrences

Algorithms Chapter 4 Recurrences Algorithms Chpter 4 Recurrences Outline The substitution method The recursion tree method The mster method Instructor: Ching Chi Lin 林清池助理教授 chingchilin@gmilcom Deprtment of Computer Science nd Engineering

More information

3GPP TSG SA WG3 Security S3#23 S May 2002, Victoria, Canada CR-Form-v5.1 CHANGE REQUEST

3GPP TSG SA WG3 Security S3#23 S May 2002, Victoria, Canada CR-Form-v5.1 CHANGE REQUEST 1 TSG SA WG3 Security S3#23 S3-020201 14-17 My 2002, Victori, Cnd CR-Form-v5.1 CHANGE REQUEST 33.102 CR CRNum rev - Current version: 4.3.0 For HELP on using this form, see bottom of this pge or look t

More information

Learning Workflow Petri Nets

Learning Workflow Petri Nets Lerning Workflow Petri Nets Jvier Esprz, Mrtin Leucker, nd Mximilin Schlund Technische Universität München, Boltzmnnstr. 3, 85748 Grching, Germny {esprz,leucker,schlund}@in.tum.de Abstrct. Workflow mining

More information

VoIP for the Small Business

VoIP for the Small Business Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become vible solution for even the

More information

FortiClient (Mac OS X) Release Notes VERSION 5.0.10

FortiClient (Mac OS X) Release Notes VERSION 5.0.10 FortiClient (Mc OS X) Relese Notes VERSION 5.0.10 FORTINET DOCUMENT LIBRARY http://docs.fortinet.com FORTINET VIDEO LIBRARY http://video.fortinet.com FORTINET BLOG https://blog.fortinet.com CUSTOMER SERVICE

More information

Configuring a DataCore SAN with Windows Clustered H/A VM s on 2 Physical Servers

Configuring a DataCore SAN with Windows Clustered H/A VM s on 2 Physical Servers Configuring DtCore SAN with Windows Clustered H/A VM s on 2 Physicl Servers Technicl Bulletin #18b My, 2015 This Technicl Bulletin describes how to configure highly vilble VM s on clustered pir of servers

More information

Appendix D: Completing the Square and the Quadratic Formula. In Appendix A, two special cases of expanding brackets were considered:

Appendix D: Completing the Square and the Quadratic Formula. In Appendix A, two special cases of expanding brackets were considered: Appendi D: Completing the Squre nd the Qudrtic Formul Fctoring qudrtic epressions such s: + 6 + 8 ws one of the topics introduced in Appendi C. Fctoring qudrtic epressions is useful skill tht cn help you

More information

Decision Rule Extraction from Trained Neural Networks Using Rough Sets

Decision Rule Extraction from Trained Neural Networks Using Rough Sets Decision Rule Extrction from Trined Neurl Networks Using Rough Sets Alin Lzr nd Ishwr K. Sethi Vision nd Neurl Networks Lbortory Deprtment of Computer Science Wyne Stte University Detroit, MI 48 ABSTRACT

More information

4.11 Inner Product Spaces

4.11 Inner Product Spaces 314 CHAPTER 4 Vector Spces 9. A mtrix of the form 0 0 b c 0 d 0 0 e 0 f g 0 h 0 cnnot be invertible. 10. A mtrix of the form bc d e f ghi such tht e bd = 0 cnnot be invertible. 4.11 Inner Product Spces

More information

VoIP for the Small Business

VoIP for the Small Business Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become vible solution for even the

More information