distributed model verification using map-reduce presented ...kmsalem/courses/cs848w10/... ·...

27
Presented By Fathiyeh Faghih University of Waterloo David R. Cheriton School of Computer Science Cloud Computing Course March 2010 Distributed Model Verification Using Map-Reduce 1

Upload: others

Post on 24-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Presented By

Fathiyeh Faghih

University of Waterloo

David R. Cheriton School of Computer Science

Cloud Computing Course

March 2010

Distributed Model Verification Using Map-Reduce

1

Page 2: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Project Objective

Using cloud computing in software verification

Saving time, especially for big software!

Distributed Model Verification Using Map-Reduce 2

Page 3: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Table of Content

Background of Certification

Parallel Certification

Implementation Details

Distributed Model Verification Using Map-Reduce 3

Page 4: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Table of Content

Background of Certification

Parallel Certification

Implementation Details

Distributed Model Verification Using Map-Reduce 4

Page 5: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Model Checking

Distributed Model Verification Using Map-Reduce 5

Ref: CS745 Course Notes, Nancy Day

•Background of Certification•Parallel Certification•Implementation Details

Page 6: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Component-based Software Engineering

Assembly of pre-existing components

Components’ correctnessDistributed Model Verification Using Map-Reduce 6

Software

Componen1

Componen2

Componen3

Componen4

•Background of Certification•Parallel Certification•Implementation Details

Page 7: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Component-based Software Engineering

Component producer

– Non-trusted• Does it work as advertised?

– Trusted• Assessing additional properties

Distributed Model Verification Using Map-Reduce 7

•Background of Certification•Parallel Certification•Implementation Details

Page 8: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Search Carrying Code (SCC)

Help the code consumer to do model checking

Recording the search path in search scripts

70% saving in the model checking time

Distributed Model Verification Using Map-Reduce 8

•Background of Certification•Parallel Certification•Implementation Details

Page 9: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Search Carrying Code (SCC)

Trustful certification– Checking additional properties

Tamper proof certification– Correctness of the search script

Distributed Model Verification Using Map-Reduce 9

•Background of Certification•Parallel Certification•Implementation Details

Page 10: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Table of Content

Background of Certification

Parallel Certification

Implementation Details

Distributed Model Verification Using Map-Reduce 10

Page 11: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Search Carrying Code

Parallel model checking

– Huge number of states

Known reachability graph

Statically partitioning a search script

Distributed Model Verification Using Map-Reduce 11

•Background of Certification•Parallel Certification•Implementation Details

Page 12: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Parallel Certification

Trustful

Tamper proof

Distributed Model Verification Using Map-Reduce 12

•Background of Certification•Parallel Certification•Implementation Details

Page 13: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Parallel Certification

Trustful

Tamper proof

Distributed Model Verification Using Map-Reduce 13

•Background of Certification•Parallel Certification•Implementation Details

Page 14: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Parallel Trustful Certification

Distributed Model Verification Using Map-Reduce 14

Map

Map

Map

Map

Map

Reduce

Reduce

Input

Output

•Background of Certification•Parallel Certification•Implementation Details

Page 15: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Parallel Trustful Certification

Distributed Model Verification Using Map-Reduce 15

Map

Map

Map

Map

Map

Reduce

Reduce

Input

Output

•Background of Certification•Parallel Certification•Implementation Details

Page 16: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Input

Partitions of the search script

Forcing the Map-Reduce not to partition the input files

Distributed Model Verification Using Map-Reduce 16

•Background of Certification•Parallel Certification•Implementation Details

Page 17: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Parallel Trustful Certification

Distributed Model Verification Using Map-Reduce 17

Map

Map

Map

Map

Map

Reduce

Reduce

Input

Output

•Background of Certification•Parallel Certification•Implementation Details

Page 18: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Mapper Function

Model checking of the partition

Java Pathfinder

Distributed Model Verification Using Map-Reduce 18

Partition Mapper <stateID,false>

•Background of Certification•Parallel Certification•Implementation Details

Page 19: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Reducer Function

Distributed Model Verification Using Map-Reduce 19

Map

Map

Map

Map

Map

Reduce

Reduce

Input

Output

•Background of Certification•Parallel Certification•Implementation Details

Page 20: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Reducer

Checking whether the program is certified or not

Producing counterexamples

Distributed Model Verification Using Map-Reduce 20

•Background of Certification•Parallel Certification•Implementation Details

Page 21: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Parallel Certification

Trustful

Tamper proof

Distributed Model Verification Using Map-Reduce 21

•Background of Certification•Parallel Certification•Implementation Details

Page 22: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Parallel Tamper Proof Certification

Distributed Model Verification Using Map-Reduce 22

Partition Mapper <stateID,FP>

<state1,FP1>

<state1,FP2>

<state1,FP3>

Reducer FP1=FP2=FP3?

•Background of Certification•Parallel Certification•Implementation Details

Page 23: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Table of Content

Background of Certification

Parallel Certification

Implementation Details

Distributed Model Verification Using Map-Reduce 23

Page 24: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Implementation Details

Karmasphere Studio– Plugin to NetBeans IDE– Develop and debug MapReduce jobs on your

desktop– Deploy jobs to remote Hadoop clusters

Trustful certification– Testing the deployment on the desktop

Distributed Model Verification Using Map-Reduce 24

•Background of Certification•Parallel Certification•Implementation Details

Page 25: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Future Steps

Deploying the application on Amazon– Creating images with JPF installed and configured

Using the JPF suitable for tamper proof– Modifying the reducer

Distributed Model Verification Using Map-Reduce 25

•Background of Certification•Parallel Certification•Implementation Details

Page 26: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

Evaluation

The time needed to do certification vs. the time needed for model checking– Trustful– Tamper proof

Experimenting on different numbers of partitions– Optimal number for each number of states?– Independent of the shape of the graph?

Distributed Model Verification Using Map-Reduce 26

•Background of Certification•Parallel Certification•Implementation Details

Page 27: Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... · Distributed Model Verification Using Map-Reduce. 1. Project Objective Using cloud computing

A General Framework for Formalizing UML with Formal Languages 27