Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... ·...
Transcript of Distributed Model Verification Using Map-Reduce Presented ...kmsalem/courses/CS848W10/... ·...
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
Project Objective
Using cloud computing in software verification
Saving time, especially for big software!
Distributed Model Verification Using Map-Reduce 2
Table of Content
Background of Certification
Parallel Certification
Implementation Details
Distributed Model Verification Using Map-Reduce 3
Table of Content
Background of Certification
Parallel Certification
Implementation Details
Distributed Model Verification Using Map-Reduce 4
Model Checking
Distributed Model Verification Using Map-Reduce 5
Ref: CS745 Course Notes, Nancy Day
•Background of Certification•Parallel Certification•Implementation Details
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
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
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
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
Table of Content
Background of Certification
Parallel Certification
Implementation Details
Distributed Model Verification Using Map-Reduce 10
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
Parallel Certification
Trustful
Tamper proof
Distributed Model Verification Using Map-Reduce 12
•Background of Certification•Parallel Certification•Implementation Details
Parallel Certification
Trustful
Tamper proof
Distributed Model Verification Using Map-Reduce 13
•Background of Certification•Parallel Certification•Implementation Details
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
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
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
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
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
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
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
Parallel Certification
Trustful
Tamper proof
Distributed Model Verification Using Map-Reduce 21
•Background of Certification•Parallel Certification•Implementation Details
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
Table of Content
Background of Certification
Parallel Certification
Implementation Details
Distributed Model Verification Using Map-Reduce 23
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
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
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
A General Framework for Formalizing UML with Formal Languages 27