c oherent d ependence c lusters syed islam 1. a genda 2 coherent clusters (specialized dependence...
TRANSCRIPT
![Page 1: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/1.jpg)
COHERENT DEPENDENCE CLUSTERSSyed Islam1
![Page 2: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/2.jpg)
AGENDA
2
Coherent Clusters (Specialized Dependence Cluster)
Mapping Source Code Constructs to Clusters
Visualization Tool for Dependence Clusters
Overlapping Clusters
Program Comprehension / Maintenance Fault Prediction
![Page 3: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/3.jpg)
DEPENDENCE CLUSTER
A dependence cluster is a maximal set of program statements where each statement depends on all other.
3
Minimal Slice
![Page 4: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/4.jpg)
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.
![Page 5: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/5.jpg)
DEPENDENCE CLUSTER ..
5
Remembering all the slices is too expensive.
Approximation techniques were used
Same Slice Cluster
Same Slice-Size Cluster.
![Page 6: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/6.jpg)
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 size
![Page 7: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/7.jpg)
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.
![Page 8: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/8.jpg)
WHAT FORMS A CLUSTER?
8
5
43
1
2
x
y
Dependence ClusterForward-Slice ClusterBackward-Slice ClusterCoherent Cluster
![Page 9: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/9.jpg)
9
SCG – SLICE/CLUSTER-SIZE GRAPH
![Page 10: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/10.jpg)
10
SCG – SLICE/CLUSTER-SIZE GRAPH
B-MSG
F-MSG
![Page 11: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/11.jpg)
11
B-MCG
F-MCG
SCG – SLICE/CLUSTER-SIZE GRAPH
![Page 12: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/12.jpg)
12
SCG – SLICE/CLUSTER-SIZE GRAPHCoherent Clusters
![Page 13: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/13.jpg)
13
RESULTS COHERENT CLUSTERS
![Page 14: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/14.jpg)
14
![Page 15: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/15.jpg)
15
FUNCTION MAPPING TO CLUSTER
Tool Maps: source lines and files to clusters.
functions represent particular computationmapping functions to clusters.
Initial Data:
Multiple functions form a cluster.
Multiple clusters within the same function.
![Page 16: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/16.jpg)
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(n3) hence 30 days
![Page 17: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/17.jpg)
17
COHERENT CLUSTER DEPENDENCE GRAPH
17
5
43
1
2
What does this mean?
![Page 18: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/18.jpg)
COHERENT CLUSTER DEPENDENCE GRAPH ..
18
5
43
1
2
Does this mean we are looking at a dependence cluster (or .. MDS)?
![Page 19: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/19.jpg)
19
70.43%
![Page 20: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/20.jpg)
20
DAGSTUHL SEMINAR BEYOND PROGRAM SLICING
Hypothesis 1: short program slices have fewer faults
Hypothesis 2: code common to many program slices has fewer faults
Hypothesis 3: cliff faces in dependence clusters indicate faults
![Page 21: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/21.jpg)
21
![Page 22: C OHERENT D EPENDENCE C LUSTERS Syed Islam 1. A GENDA 2 Coherent Clusters (Specialized Dependence Cluster) Mapping Source Code Constructs to Clusters](https://reader035.vdocuments.net/reader035/viewer/2022062805/5697bff11a28abf838cbb3e0/html5/thumbnails/22.jpg)
ONGOING WORK
22
Complete implementation of the tool
Mapping Source Code Constructs to Clusters
Combining Cluster – Larger Clusters
Longitudinal study Faults Metrics