Parallel and Distributed Computing in Model Checking Diana DUBU (UVT) Dana PETCU (IeAT, UVT)

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Multiple Processor Systems
Automatic Verification Book: Chapter 6. How can we check the model? The model is a graph. The specification should refer the the graph representation.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Model Checking for an Executable Subset of UML Fei Xie 1, Vladimir Levin 2, and James C. Browne 1 1 Dept. of Computer Sciences, UT at Austin 2 Bell Laboratories,
Openflow App Testing Chao SHI, Stephen Duraski. Motivation Network is still a complex stuff ! o Distributed mechanism o Complex protocol o Large state.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Practical techniques & Examples
1 Chao Wang, Yu Yang*, Aarti Gupta, and Ganesh Gopalakrishnan* NEC Laboratories America, Princeton, NJ * University of Utah, Salt Lake City, UT Dynamic.
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Introduction to Embedded Systems Chapter 14 Reachability Analysis (14.1, – ) Hao Zheng U of South Florida.
ESP: A Language for Programmable Devices Sanjeev Kumar, Yitzhak Mandelbaum, Xiang Yu, Kai Li Princeton University.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
CS 267: Automated Verification Lecture 10: Nested Depth First Search, Counter- Example Generation Revisited, Bit-State Hashing, On-The-Fly Model Checking.
1 A Tutorial on Parallel and Distributed Model Checking Orna Grumberg Computer Science Department Technion, Israel.
1 Temporal Claims A temporal claim is defined in Promela by the syntax: never { … body … } never is a keyword, like proctype. The body is the same as for.
AGVI Automatic Generation, Verification, and Implementation of security protocols By: Dawn Song, Adrian Perrig, and Doantam Phan. In: 13 th Conference.
Argonne National Laboratory School of Computing and SCI Institute, University of Utah Practical Model-Checking Method For Verifying Correctness of MPI.
Synthesis of Interface Specifications for Java Classes Rajeev Alur University of Pennsylvania Joint work with P. Cerny, G. Gupta, P. Madhusudan, W. Nam,
Utah Verifier Group Research Overview Robert Palmer.
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
1 Completeness and Complexity of Bounded Model Checking.
Efficient Software Model Checking of Data Structure Properties Paul T. Darga Chandrasekhar Boyapati The University of Michigan.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Improving Error Discovery using Guided Search Neha Rungta & Eric Mercer Computer Science Department Brigham Young University, Provo UT.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
 A data processing system is a combination of machines and people that for a set of inputs produces a defined set of outputs. The inputs and outputs.
Data Structures and Programming.  John Edgar2.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Design Space Exploration
2006/09/19AOAsia 21 Towards Locating a Functional Concern Based on a Program Slicing Technique Takashi Ishio 1,2, Ryusuke Niitani 2 and Katsuro Inoue 2.
A Simple Method for Extracting Models from Protocol Code David Lie, Andy Chou, Dawson Engler and David Dill Computer Systems Laboratory Stanford University.
Using Model-Checking to Debug Device Firmware Sanjeev Kumar Microprocessor Research Labs, Intel Kai Li Princeton University.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Scientific Computing By: Fatima Hallak To: Dr. Guy Tel-Zur.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Yang Liu, Jun Sun and Jin Song Dong School of Computing National University of Singapore.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Xusheng Xiao North Carolina State University CSC 720 Project Presentation 1.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
Bandera: Extracting Finite-state Models from Java Source Code. Paper By: James C. Corbett, Mathew Dwyer, John Hatcliff, Shawn Laubach, Corina Pasareanu,
General Techniques for Symmetry Reduction in Model Checking Alastair Donaldson Alice Miller Department of Computing Science University of Glasgow.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Parallel and Distributed Systems Laboratory Paradise: A Toolkit for Building Reliable Concurrent Systems Trace Verification for Parallel Systems Vijay.
1 Distributed BDD-based Model Checking Orna Grumberg Technion, Israel Joint work with Tamir Heyman, Nili Ifergan, and Assaf Schuster CAV00, FMCAD00, CAV01,
ECE/CS 584: Verification of Embedded Computing Systems Model Checking Timed Automata Sayan Mitra Lecture 09.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Automated Formal Verification of PLC (Programmable Logic Controller) Programs
1 Modeling the Search Landscape of Metaheuristic Software Clustering Algorithms Dagstuhl – Software Architecture Brian S. Mitchell
Symbolic Model Checking of Software Nishant Sinha with Edmund Clarke, Flavio Lerda, Michael Theobald Carnegie Mellon University.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Complexity Relief Techniques for Model Checking METU, Aug SOFTWARE VERIFICATION WORKSHOP Hüsnü Yenigün Sabanci University Informatics Institute,
1 Advanced course on: Parallel and Distributed Model Checking Lecture 1 – Lecturers: Orna Grumberg, Computer Science Dept, Technion Karen Yorav,
Presentation Title 2/4/2018 Software Verification using Predicate Abstraction and Iterative Refinement: Part Bug Catching: Automated Program Verification.
Hybrid BDD and All-SAT Method for Model Checking
基于多核加速计算平台的深度神经网络 分割与重训练技术
Automatic Verification
CS453: Automated Software Testing
Model Checking for an Executable Subset of UML
CSC4005 – Distributed and Parallel Computing
Presentation transcript:

Parallel and Distributed Computing in Model Checking Diana DUBU (UVT) Dana PETCU (IeAT, UVT)

Subject: + = ? Model (?!) checkingParallel (?!) computing

Model Checking 1) Modeling: convert a design into a formalism accepted by a model checking tool. 2) Specification: state the properties that the design must satisfy. 3) Verification: ideally completely automatic.

Model Checking Results  Design/Implementation/Testing  2. Modeling/Property Specification Finite-state model extraction Simplifications Restrictions  3. Verification Abstractions Divide-and-conquer techniques

Model Checking Problems The state explosion problem Model checkers today can routinely handle systems with between 100 and 300 state variables. Systems with 10^120 reachable states have been checked The model construction problem. The requirement specification problem. The output interpretation problem.

Two aspects Parallel and distributed algorithms for model checking Model checking on parallel and distributed codes

Why to parallize? gain memory: in state exploration gain time: discovering a bug after 1 day is better than 4! State of art: Parallel and Distributed Model Checking, PDMC, August 19, Brno, Czech Republic, Satellite Workshop to CONCUR In Electronic Notes in Theoretical Computer Science vol. 68 (4), October 2002

Parallel and distributed algorithms were developed for Explicit state methods - reachability and model construction - LTL model checking - model checking for alternation-free  -calculus BDD-based methods - reachability and generation of counter example - model checking for full  -calculus

Problems in designing parallel/distributed algs. Partitioning the work among the processes Dynamic or static load balance to maintain balanced use of memory Maintaining a good proportion between computation at each process and communication Distributed or centralized termination detection

Reachability in distributed state space The state space is partitioned into slices Each slice is owned by one process Each process runs a check on its slice When non-owned states are discovered they are sent to the process that owns them

Load Balance The initial slicing distributes the memory requirements equally among the processes. As more states are discovered, the memory requirements might become unbalanced. Therefore, at the end of each step in the computation of the reachable states a load balance procedure is applied.

Solutions for load balancing Stern, Dill [1997]: Random load balancing Lerda, Sisto [1999]: Partition to minimise cross transitions Garavel et al. [2001]: Partition independent of state structure Lafuente [2002]: Partition to localise cycles

Static slicing Martin, Huddart [2000]: Graph pruning algorithm Barnat, et al. [2001]: Extra data structures to keep track of 2 nd searches Brim, et al. [2001]: Negative cycle detection Bollig, et al. [2002]: Algorithm without cycle detection

Parallel and distributed codes Hard to test Poor coverage Programmers have less intuition Parallel and distributed programs force us to encounter all possible interleavings – generates large models One of the common heuristics to reduce the model is partial-order reductions

Formal Methods for Parallel Programming: Theory and Applications FMPPTA'2001: April 27, 2001, San Francisco FMPPTA'2002 : April 19, 2002, Fort Lauderdale FMPPTA'2003: April 22-26, 2003, Nice

Parallel oriented model checker VeriSoft from Lucent: mainly useful for explicit model checking Spin from Bell Labs: is the most widely distributed software package that supports the formal verification of distributed systems SPIN2003, May 3-10, 2003, in Portland

What we intend to do Create own software for distributed state space construction algorithm Use PC Myrinet cluster. Implement a known parallel algorithm (Garavel). Use message passing interface MPI. Port the code on Grids, using Globus technologies. Verify various properties of the tested software. At start, small Java programs for which we can manually generate a model.