Static Slicing of Reactive Programs - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Static Slicing of Reactive Programs

Description:

Esterel constructs and compilation scheme. Dependencies in Esterel. Slicing Algorithm ... Data, control, loop-carried data dependence trace witness exists ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 16
Provided by: adityak2
Category:

less

Transcript and Presenter's Notes

Title: Static Slicing of Reactive Programs


1
Static Slicing of Reactive Programs
  • Aditya Kulkarni (KReSIT, I.I.T Bombay)
  • Prof. S. Ramesh (Dept. of CSE, I.I.T Bombay)

2
Outline
  • What is Slicing ?
  • Slicing intra-procedural sequential programs
  • Slicing intra-procedural concurrent programs
  • Esterel constructs and compilation scheme
  • Dependencies in Esterel
  • Slicing Algorithm

3
Introduction
  • Motivation
  • Formal verification
  • Debugging
  • Slicing criterion ltline no, variablegt
  • Slicing typically involves
  • Computing dependencies and constructing PDG
  • Backward traversal of the PDG

4
Slicing concurrent programs
  • Data, control, interference dependence
    represented in TPDG
  • Simple backward traversal -gt imprecise slice
  • Need to capture proper execution paths
  • Threaded witness
  • Trace witness
  • Data, control, loop-carried data dependence ?
    trace witness exists
  • Interference dependence does not ? trace witness
    exist

5
(No Transcript)
6
Features of Esterel
  • Imperative paradigm, synchronous concurrency
  • Used to model control behaviour of reactive
    systems
  • Some statements conceptually instantaneous
  • Explicit delay pause
  • Communication via broadcast signals emit S,
    present S
  • Rich in control constructs
  • Preemption abort p when S
  • Suspension suspend p when S
  • Exception handling trap and exit

7
Trap and Exit
8
Pause
9
Abort
10
Parallel
11
Dependencies in Esterel
  • Data dependencies cant exist across threads
  • Signal dependencies
  • Simple exist in non-concurrent threads
  • Interference in concurrent threads
  • Control dependencies
  • Induced in non-concurrent threads
  • Induced in concurrent threads due to preemption
  • Time dependency captured as control dependency

12
Interference control dependency
  • Control dependence j control dependent on i iff
  • j doesnt post-dominate i
  • ? k along path i to j, j post-dominates i

13
Slicing Algorithm
  • Slicing criterion ltline no, signalgt
  • State of execution recorded in tuple t0,,tn
  • Perform backward traversal of STPDG
  • For nodes y reached via edge y?x
  • Data, control, simple signal, time dependency
    add y to slice, update tuple
  • Interference signal or control dependency
  • t last node visited in ys thread
  • If trace witness exists for lty,tgt, add y. Update
    tuple.

14
(No Transcript)
15
Summary
  • Complex control constructs of Esterel make
    slicing non-trivial
  • New way of modeling control constructs
  • New dependencies time and interference control
    dependencies
Write a Comment
User Comments (0)
About PowerShow.com