S. Ramesh Mangala Gowri Nanda Slicing Concurrent Programs

Slides:



Advertisements
Similar presentations
Continuation of chapter 6…. Nested while loop A while loop used within another while loop is called nested while loop. Q. An illustration to generate.
Advertisements

Chapter 14 Testing Tactics
CPSC 388 – Compiler Design and Construction
Computer Science 320 Clumping in Parallel Java. Sequential vs Parallel Program Initial setup Execute the computation Clean up Initial setup Create a parallel.
Optimistic Methods for Concurrency Control By : H.T. Kung & John T. Robinson Presenters: Munawer Saeed.
Overview Structural Testing Introduction – General Concepts
A Survey of Program Slicing Techniques A Survey of Program Slicing Techniques Sections 3.1,3.6 Swathy Shankar
Program Slicing – Based Techniques
P3 / 2004 Register Allocation. Kostis Sagonas 2 Spring 2004 Outline What is register allocation Webs Interference Graphs Graph coloring Spilling Live-Range.
Models of Concurrency Manna, Pnueli.
1 Statements. 2 Statements - 강의순서 ▣ 병행 (Concurrent) Statement ◈ Concurrent Signal Assignment, Simple ◈ Concurrent Signal Assignment, Conditional ◈ Concurrent.
2. Processes and Interactions 2.1 The Process Notion 2.2 Defining and Instantiating Processes –Precedence Relations –Implicit Process Creation –Dynamic.
CIS 720 Lecture 2. Concurrency …shared variable declaration…. …shared variable initialization… co P 1 // P 2 // P 3 // P 4 oc Execution of P 1 … P 4 starts.
Optimizing single thread performance Dependence Loop transformations.
Stanford University CS243 Winter 2006 Wei Li 1 Register Allocation.
1 Code Optimization. 2 The Code Optimizer Control flow analysis: control flow graph Data-flow analysis Transformations Front end Code generator Code optimizer.
Local Variables and Scope Benjamin Fein. Variable Scope A variable’s scope consists of all code blocks in which it is visible. A variable is considered.
Program Slicing. 2 CS510 S o f t w a r e E n g i n e e r i n g Outline What is slicing? Why use slicing? Static slicing of programs Dynamic Program Slicing.
1 Program Slicing Purvi Patel. 2 Contents Introduction What is program slicing? Principle of dependences Variants of program slicing Slicing classifications.
Introduction to Program Slicing Presenter: M. Amin Alipour Software Design Laboratory
Interprocedural Slicing using Dependence Graphs Susan Horwitz, Thomas Reps, and David Binkley University of Wisconsin-Madison.
Pascal Programming Today Chapter 4 1 »Conditional statements allow the execution of one of a number of possible operations. »Conditional statements include:
The Ramification and Qualification Problems in Temporal Databases Nikos Papadakis & Dimitris Plexousakis University of Crete and.
A Handel-C Implementation of a Computationally Intensive Problem in GF(3) Joey C. Libby, Jonathan P. Lutes, and Kenneth B. Kent The Handel-C Language Handel-C.
1 Static Analysis Methods CSSE 376 Software Quality Assurance Rose-Hulman Institute of Technology March 20, 2007.
CS533 Concepts of Operating Systems Class 20 Summary.
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
CS533 Concepts of Operating Systems Class 2 Thread vs Event-Based Programming.
Optimizing Compilers for Modern Architectures Dependence: Theory and Practice Allen and Kennedy, Chapter 2 pp
Nested Loops. Nesting Control Structures One if statement inside another one An if statement inside a loop A loop inside an if statement Control structures.
Scheduling Parallel Task
INTEL CONFIDENTIAL Reducing Parallel Overhead Introduction to Parallel Programming – Part 12.
4.4 Equations as Relations
Array Dependence Analysis COMP 621 Special Topics By Nurudeen Lameed
1.3 The Intersection Point of Lines System of Equation A system of two equations in two variables looks like: – Notice, these are both lines. Linear Systems.
1 09/20/04CS150 Introduction to Computer Science 1 Let ’ s all Repeat Together.
1 Program Slicing Amir Saeidi PhD Student UTRECHT UNIVERSITY.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke Presented by: Xia Cheng.
Pointer Analysis for Multithreaded Programs Radu Rugina and Martin Rinard M I T Laboratory for Computer Science.
Printing with for Loops To print a character multiple times, use a for loop. for (int j = 1; j
Threaded Programming Lecture 1: Concepts. 2 Overview Shared memory systems Basic Concepts in Threaded Programming.
1 Software Testing & Quality Assurance Lecture 13 Created by: Paulo Alencar Modified by: Frank Xu.
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-2. Environment Variables OMP_NUM_THREADS OMP_SCHEDULE.
1 Sections 6.4 – 6.5 Methods and Variables Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
TOPIC : SEQUENTIAL AND PARALLEL BLOCKS Module 2.3 : Behavioral modeling in verilog.
10.1 SYSTEMS OF LINEAR EQUATIONS: SUBTRACTION, ELIMINATION.
Classes and Inheritance
SHARED MEMORY PROGRAMMING WITH OpenMP
Computer Engg, IIT(BHU)
BACK SOLUTION:
Chapter 5: Systems of Linear Equations
A Survey of Program Slicing Techniques: Section 4
Program Slicing Baishakhi Ray University of Virginia
Alice in Action with Java
Systems of Inequalities
Thread Synchronization
Chapter 8 Section 8.2 Applications of Definite Integral
Execution Indexing Xiangyu Zhang.
Three Special Structures – Case, Do While, and Do Until
Building Java Programs
Program Flow.
C. M. Overstreet Old Dominion University Spring 2006
How to improve (decrease) CPI
A system of linear inequalities is a set of two or more linear inequalities containing two or more variables. The solutions of a system of linear inequalities.
CIS 720 Lecture 3.
CIS 720 Lecture 3.
C. M. Overstreet Old Dominion University Fall 2005
C. M. Overstreet Old Dominion University Fall 2007
Did a few weeks ago. tag would work..
Systems of Inequalities
Presentation transcript:

S. Ramesh Mangala Gowri Nanda Slicing Concurrent Programs Indian Institute of Technology, Bombay

Organization Previous work Nested threads Threads nested within loops Complexity and Optimizations

Static Slicing The Slice of a program with respect to a program point p and a variable x consists of all statements and predicates of the program that might affect the value of x at point p.

Interference dependence : A node S1 is interference dependent on a node S2 if S2 defines a variable v, S1 uses the variable v and S1 and S2 execute in parallel.

Limitations of previous solutions: 1. Nested threads 2. Threads nested within loops

CoAncestor ( i, j ) is defined to be the nearest common ancestor of two parallel executing nodes i and j. CoRegion ( i, j ) is the region enclosed between CoAncestor ( i, j ) and its corresponding coend node.