/
Coherent Dependence Coherent Dependence

Coherent Dependence - PowerPoint Presentation

alida-meadow
alida-meadow . @alida-meadow
Follow
415 views
Uploaded On 2016-10-09

Coherent Dependence - PPT Presentation

Clusters Syed Islam 1 Agenda 2 Coherent Clusters Specialized Dependence Cluster Mapping Source Code Constructs to Clusters Visualization Tool for Dependence Clusters Overlapping Clusters ID: 473668

slice cluster dependence clusters cluster slice clusters dependence coherent statements graph program slices size set nodes scg mapping faults

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Coherent Dependence" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Coherent Dependence Clusters

Syed Islam

1Slide2

Agenda

2

Coherent Clusters (Specialized Dependence Cluster)

Mapping Source Code Constructs to Clusters

Visualization Tool for Dependence Clusters

Overlapping

Clusters

Program Comprehension / Maintenance

Fault PredictionSlide3

Dependence Cluster

A dependence cluster is a maximal set of program statements where each statement depends on all other.

3

Minimal SliceSlide4

Dependence Cluster (Slice-Based)

A Slice-Based Dependence Clusters

is a maximal set of program statements all of which are in each others slice.

4

i

j

Two statements

that

mutually depend upon

each other must be in each others slice.Slide5

Dependence Cluster ..

5

Remembering all the slices is too expensive.

Approximation techniques were used

Same Slice

Cluster

Same Slice-Size Cluster

.Slide6

MSG -Monotone Slice-Size Graph

Calculate the Slice Sizes for each SDG vertex of a program.

6

Plot

all slice sizes of the program in one graph in monotonically increasing order of the sizes

.

X axis:

percentage

of slices representedY axis: normalised slice sizeSlide7

Coherent Clusters

7

Same-Slice Dependence cluster have

internal

and

external requirements.

Statements of Clusters constructed from Backward Slices are

all influenced by the same set of statements. (Backward-Slice Cluster

)Statements of Clusters constructed from Forward Slices

all influence the same set of statements

. (

Forward-Slice Cluster).

A

Coherent Cluster

is a set of statements where each statement has the same backward slice and the same forward slice.Slide8

What forms a cluster?

8

5

4

3

1

2

x

y

Dependence

Cluster

Forward-Slice Cluster

Backward-Slice

Cluster

Coherent ClusterSlide9

9

SCG – Slice/Cluster-Size GraphSlide10

10

SCG – Slice/Cluster-Size Graph

B-MSG

F-MSGSlide11

11

B-MCG

F-MCG

SCG – Slice/Cluster-Size GraphSlide12

12

SCG – Slice/Cluster-Size Graph

Coherent ClustersSlide13

13

Results Coherent ClustersSlide14

14Slide15

Function Mapping To Cluster

15

Tool Maps: source lines and files to clusters.

functions

represent particular computation

mapping functions to clusters.

Initial Data:

Multiple

functions form a cluster.

Multiple clusters

within the same function.Slide16

Approximation Constraints

Calculate percentage of pair of nodes whose slices are the same; to that of where the nodes in the pair are in each others slice.

16

x

and

 y,

where nodes x and y

are nodes of a pdg

| {

x,y

: S(

x

) = S(

y

) }|

|

{

x,y

:

x

S(

y

) 

y

 S(

x

) }|

BC –

The results is

60%

.

S() – Backward Slice

The algorithm runs in

T(n) = O(n

3

) hence

30 daysSlide17

17

Coherent Cluster Dependence Graph

17

5

4

3

1

2

What does this mean? Slide18

Coherent Cluster Dependence Graph ..

18

5

4

3

1

2

Does this mean we are looking at a dependence cluster (or .. MDS)?Slide19

19

70.43%Slide20

Dagstuhl Seminar Beyond Program Slicing

Hypothesis 1: short program slices have fewer

faults

20

Hypothesis 2: code common to many program slices has fewer faults

Hypothesis 3: cliff faces in dependence clusters indicate faultsSlide21

21Slide22

Ongoing Work

22

Complete implementation of the tool

Mapping Source Code Constructs to Clusters

Combining

Cluster –

Larger Clusters

Longitudinal

study

Faults

Metrics