SlideShare a Scribd company logo
1 of 25
Download to read offline
SCAN: an Approach to Label and
Relate Execution Trace Segments
Soumaya Medini, Giuliano Antoniol, Yann-Gaël Guéhéneuc,
Massimiliano Di Penta, Paolo Tonella
SOCCER Lab. & Ptidej Team, École Polytechnique de Montréal, Québec, Canada
Fondazione Bruno Kessler (FBK) Trento, Italy
University of Sannio, Italy

October 15, 2012
CONTEXT
๏

Program comprehension take half the effort devoted to software
maintenance.[Fjeldstad and Hamlen, 1983]

๏

Software maintenance can be up to 80% of software cost.[Arthur,
1999]

๏

Concept location is an important task during Program
comprehension.[Rajlich, 2002]

๏

Concept location aims at identifying user-observable features and
locating their implementation within code regions.

2
CONCEPT LOCATION AS
TRACE SEGMENTATION
๏

Use textual content of methods to split execution trace
into segments that implement concepts related to the
features of interest.

๏

Asadi et al. [Asadi et al., 2010]: Identify concepts in
execution trace by finding cohesive and decoupled
fragments of the trace.

๏

Medini et al. [Medini et al., 2011]: Identify concepts by
computing the exact split of an execution trace into
segments.

3
PROPOSED
APPROACH (1)
๏

These approaches create segments but do not assign a label
to the identified segments.

๏

SCAN (Segment Concept AssigNer) approach: Assign
meaningful labels to chunks of segmented traces.
✦

Used VSM to label identified segments.

✦

Used FCA to relate segments.

4
PROPOSED
APPROACH (2)
๏

SCAN accepts as input one or more execution traces.

๏

Trace segmentations obtained using the tool by Medini et
al. [Medini et al., 2011].

๏

Labeling of identified trace segments.

๏

FCA module to identify relations between segments.
5
APPROACH DETAILS
๏

Multi-threading: Induces variability in traces collected for
a given scenario.

๏

To limit this effect in assigning labels to segments, SCAN
is able to merge segments obtained in multiple
executions of the same scenario.

๏

Recognize similarities between segments belonging to
multiple execution traces and merge them.

6
APPROACH:
LABELING SEGMENTS
๏

Source of information: Terms contained in the signature
of invoked methods.

๏

Hypothesis: A term appearing often in a particular
segment, but not in other segments, provides linguistic
information important for that given segment.

๏

SCAN ranks the terms of the segment terms by tf-idf
and keeps the topmost ones.

7
FORMAL CONCEPT
๏

Used to identify relations between concepts identified in
different segments.

๏

Groups objects that have common attributes: Objects are
segments and attributes are terms extracted for the
segments.

๏

A concept: Maximal collection of objects that has common
attributes. Grouping of all cohesive set of segments sharing
terms.

8
FCA EXAMPLE

๏

FCA lattice produced for two executions of the scenario
“New Package”. All segments and concepts are similar
between the two traces, except for segment 10 of
“NewPackage1”.

๏

SCAN’s ability to recognize the occurrence of the same
concepts in different executions.
9
CASE STUDY
Systems

Number of Segments

15,706

930

54

5,960

554

32

Draw Ellipse

5,252

562

33

Draw Ellipse, Delete Ellipse

10,760

953

53

Draw Rectangle, Draw Ellipse

8,790

690

30

New Class

82,579

2,785

32

New Package

21,423

1,642

19

New Class, New Package

๏

Compressed Size

Draw Rectangle, Delete Rectangle

ArgoUML
0.19.8

Original Size

Draw Rectangle

JHotDraw
5.1

Scenarios

38,940

1,220

13

For each scenario we collected a number (2-3) of traces.

10
RESEARCH
QUESTIONS
๏

RQ1. How effective is SCAN in assigning labels to
segments?

๏

RQ2. Does SCAN help to discover relations between
segments? Does it help to discover the macro phases in a
trace?

11
RQ1:VALIDATION
๏

๏

Segment
Number

We manually built labels for each segment and validated the
SCAN results.
Automatic Labels

Manual Labels

1

draw iconkit creat palett text tool button line imag icon

Create drawing palette button tool and create icons kit.

2

draw cut transfer figur command view

Execute draw figure command.

3

draw menu copi shortcut past add command transfer duplic view Add a command with the given shortcut to the menu.

4

draw transfer delet figur command view

Execute draw figure command.

12
RQ1: RESULTS (JHOTDRAW)
Precision

Recall

Scenario
Q1

median

Q3

mean

Q1

median

Q3

mean

Draw Rectangle

0.50

0.60

0.83

0.64

0.75

0.83

1.00

0.81

Draw Rectangle, Delete Rectangle

0.50

0.60

0.72

0.65

0.70

0.80

1.00

0.82

Draw Rectangle, Draw Ellipse

0.40

0.60

0.70

0.56

0.67

0.80

1.00

0.81

๏

The mean Precision varies between 0.56 and 0.65

๏

The mean Recall is stable around 0.81-0.82

13
RQ1: RESULTS (ARGOUML)
Precision

Recall

Scenario
Q1

Q3

mean

Q1

median

Q3

mean

New Class

0.29

0.40

0.50

0.40

0.50

0.67

0.75

0.64

New Package

0.29

0.33

0.50

0.36

0.50

0.50

0.71

0.54

New Class, New Package

๏

median

0.20

0.33

0.50

0.38

0.25

0.50

0.67

0.48

Performances are relatively lower than those obtained for
JHotDraw.

14
RQ2: RESULTS (ARGOUML)

๏

FCA lattice for the execution trace of the scenario “New
Class”

๏

S1: System start-up and S2-S7 : “prepare creation” and
“addition” of a new UML Class.
15
RQ2: RESULTS (ARGOUML)

๏

FCA lattice for the execution trace of the scenario “New
Class”

๏

S1: System start-up and S2-S7 : “prepare creation” and
“addition” of a new UML Class.
15
RQ2: RESULTS (ARGOUML)

๏

S4, 10 and 16 implement the same concept.

๏

The concept containing segments 3, 9 and 15 is a superconcept of the one containing segments 2, 8 and 14. It
points to higher level concepts (generate key java module),
while the sub-concept includes segments specific of the
display functionality.
16
RQ2: RESULTS (ARGOUML)

๏

S4, 10 and 16 implement the same concept.

๏

The concept containing segments 3, 9 and 15 is a superconcept of the one containing segments 2, 8 and 14. It
points to higher level concepts (generate key java module),
while the sub-concept includes segments specific of the
display functionality.
16
RQ2: RESULTS (ARGOUML)

๏

S4, 10 and 16 implement the same concept.

๏

The concept containing segments 3, 9 and 15 is a superconcept of the one containing segments 2, 8 and 14. It
points to higher level concepts (generate key java module),
while the sub-concept includes segments specific of the
display functionality.
16
RQ2: RESULTS (ARGOUML)

๏

The relations between cohesive sets of segments regarded as execution
phases. One phase is built by repeated segments in a trace.
✦

S 2, 3, 4, 5 and 6 define an execution phase on the trace.

✦

This phase is repeated two times: S 8, 9, 10, 11 and 12, and S 14, 15, 16, 17
and 18.

✦

The rest of the segments are also converted to an execution phases.
17
RQ2: RESULTS (ARGOUML)

๏

The relations between cohesive sets of segments regarded as execution
phases. One phase is built by repeated segments in a trace.
✦

S 2, 3, 4, 5 and 6 define an execution phase on the trace.

✦

This phase is repeated two times: S 8, 9, 10, 11 and 12, and S 14, 15, 16, 17
and 18.

✦

The rest of the segments are also converted to an execution phases.
17
RQ2: IDENTIFYING
PHASES
๏

After the phases we draw a higher
level flow diagram of phases with
labels, using the temporal relations
between phases.

๏

The “New Class” scenario,
generating 32 segments, can be
summarized into four macro
execution phases.
✦

Phase1: System startup

✦

Phase2: Activity needed to create
class and properties (e.g., state,
composite, etc).

18
DISCUSSION
๏

Quantitative results might be read as indicators of poor
performance of the label assignment algorithm (recall/
precision around 50% and above).

๏

Adequate to support program understanding tasks. We
expect that developer with some knowledge about the
application would find it relatively easy.

19
20
FUTURE WORK
๏

Phase recognition: We plan to investigate how to automate
it.

๏

Further validation of SCAN with a pool of independent
developers.

๏

Application of SCAN to label multiple trace segmentations,
i.e., segmentations of traces corresponding to different
scenarios.

21

More Related Content

Viewers also liked

Icsm07 tooldemo.pdf
Icsm07 tooldemo.pdfIcsm07 tooldemo.pdf
Icsm07 tooldemo.pdfPtidej Team
 
Software Design Patterns in Theory
Software Design Patterns in TheorySoftware Design Patterns in Theory
Software Design Patterns in TheoryPtidej Team
 
Quality and Software Design Patterns
Quality and Software Design PatternsQuality and Software Design Patterns
Quality and Software Design PatternsPtidej Team
 
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future ChallengesAsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future ChallengesPtidej Team
 
Software Design Patterns in Practice
Software Design Patterns in PracticeSoftware Design Patterns in Practice
Software Design Patterns in PracticePtidej Team
 

Viewers also liked (12)

MSR Asia Summit
MSR Asia SummitMSR Asia Summit
MSR Asia Summit
 
Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
 
Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
See12.ppt
See12.pptSee12.ppt
See12.ppt
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Wcre12b.ppt
Wcre12b.pptWcre12b.ppt
Wcre12b.ppt
 
Icsm07 tooldemo.pdf
Icsm07 tooldemo.pdfIcsm07 tooldemo.pdf
Icsm07 tooldemo.pdf
 
Software Design Patterns in Theory
Software Design Patterns in TheorySoftware Design Patterns in Theory
Software Design Patterns in Theory
 
Quality and Software Design Patterns
Quality and Software Design PatternsQuality and Software Design Patterns
Quality and Software Design Patterns
 
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future ChallengesAsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
 
Software Design Patterns in Practice
Software Design Patterns in PracticeSoftware Design Patterns in Practice
Software Design Patterns in Practice
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 

Similar to Wcre12c.ppt

Thesis+of+soumaya+medini.ppt
Thesis+of+soumaya+medini.pptThesis+of+soumaya+medini.ppt
Thesis+of+soumaya+medini.pptPtidej Team
 
Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)University of Washington
 
[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...
[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...
[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...thanhdowork
 
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...Francisco (Paco) Florez-Revuelta
 
From_seq2seq_to_BERT
From_seq2seq_to_BERTFrom_seq2seq_to_BERT
From_seq2seq_to_BERTHuali Zhao
 
Garbage Classification Using Deep Learning Techniques
Garbage Classification Using Deep Learning TechniquesGarbage Classification Using Deep Learning Techniques
Garbage Classification Using Deep Learning TechniquesIRJET Journal
 
FEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart Guide
FEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart GuideFEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart Guide
FEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart GuideFEATool Multiphysics
 
Statistics project2
Statistics project2Statistics project2
Statistics project2shri1984
 
Towards the Design of Heuristics by Means of Self-Assembly
Towards the Design of Heuristics by Means of Self-AssemblyTowards the Design of Heuristics by Means of Self-Assembly
Towards the Design of Heuristics by Means of Self-AssemblyGerman Terrazas
 
An iterative morphological decomposition algorithm for reduction of skeleton ...
An iterative morphological decomposition algorithm for reduction of skeleton ...An iterative morphological decomposition algorithm for reduction of skeleton ...
An iterative morphological decomposition algorithm for reduction of skeleton ...ijcsit
 
Application_of_Deep_Learning_Techniques.pptx
Application_of_Deep_Learning_Techniques.pptxApplication_of_Deep_Learning_Techniques.pptx
Application_of_Deep_Learning_Techniques.pptxKiranKumar918931
 
Layout planning
Layout planningLayout planning
Layout planning8979473684
 
MetaPerturb: Transferable Regularizer for Heterogeneous Tasks and Architectures
MetaPerturb: Transferable Regularizer for Heterogeneous Tasks and ArchitecturesMetaPerturb: Transferable Regularizer for Heterogeneous Tasks and Architectures
MetaPerturb: Transferable Regularizer for Heterogeneous Tasks and ArchitecturesMLAI2
 

Similar to Wcre12c.ppt (20)

Wcre12c.ppt
Wcre12c.pptWcre12c.ppt
Wcre12c.ppt
 
CSMR10a.ppt
CSMR10a.pptCSMR10a.ppt
CSMR10a.ppt
 
Thesis+of+soumaya+medini.ppt
Thesis+of+soumaya+medini.pptThesis+of+soumaya+medini.ppt
Thesis+of+soumaya+medini.ppt
 
Csmr10a.ppt
Csmr10a.pptCsmr10a.ppt
Csmr10a.ppt
 
Deep Learning
Deep LearningDeep Learning
Deep Learning
 
SSBSE10.ppt
SSBSE10.pptSSBSE10.ppt
SSBSE10.ppt
 
Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)
 
[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...
[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...
[20240415_LabSeminar_Huy]Deciphering Spatio-Temporal Graph Forecasting: A Cau...
 
Report
ReportReport
Report
 
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
 
From_seq2seq_to_BERT
From_seq2seq_to_BERTFrom_seq2seq_to_BERT
From_seq2seq_to_BERT
 
Particle Swarm Optimization Algorithm Based Window Function Design
Particle Swarm Optimization Algorithm Based Window Function DesignParticle Swarm Optimization Algorithm Based Window Function Design
Particle Swarm Optimization Algorithm Based Window Function Design
 
Garbage Classification Using Deep Learning Techniques
Garbage Classification Using Deep Learning TechniquesGarbage Classification Using Deep Learning Techniques
Garbage Classification Using Deep Learning Techniques
 
FEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart Guide
FEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart GuideFEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart Guide
FEATool Multiphysics Matlab FEM and CFD Toolbox - v1.6 Quickstart Guide
 
Statistics project2
Statistics project2Statistics project2
Statistics project2
 
Towards the Design of Heuristics by Means of Self-Assembly
Towards the Design of Heuristics by Means of Self-AssemblyTowards the Design of Heuristics by Means of Self-Assembly
Towards the Design of Heuristics by Means of Self-Assembly
 
An iterative morphological decomposition algorithm for reduction of skeleton ...
An iterative morphological decomposition algorithm for reduction of skeleton ...An iterative morphological decomposition algorithm for reduction of skeleton ...
An iterative morphological decomposition algorithm for reduction of skeleton ...
 
Application_of_Deep_Learning_Techniques.pptx
Application_of_Deep_Learning_Techniques.pptxApplication_of_Deep_Learning_Techniques.pptx
Application_of_Deep_Learning_Techniques.pptx
 
Layout planning
Layout planningLayout planning
Layout planning
 
MetaPerturb: Transferable Regularizer for Heterogeneous Tasks and Architectures
MetaPerturb: Transferable Regularizer for Heterogeneous Tasks and ArchitecturesMetaPerturb: Transferable Regularizer for Heterogeneous Tasks and Architectures
MetaPerturb: Transferable Regularizer for Heterogeneous Tasks and Architectures
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Wcre12c.ppt

  • 1. SCAN: an Approach to Label and Relate Execution Trace Segments Soumaya Medini, Giuliano Antoniol, Yann-Gaël Guéhéneuc, Massimiliano Di Penta, Paolo Tonella SOCCER Lab. & Ptidej Team, École Polytechnique de Montréal, Québec, Canada Fondazione Bruno Kessler (FBK) Trento, Italy University of Sannio, Italy October 15, 2012
  • 2. CONTEXT ๏ Program comprehension take half the effort devoted to software maintenance.[Fjeldstad and Hamlen, 1983] ๏ Software maintenance can be up to 80% of software cost.[Arthur, 1999] ๏ Concept location is an important task during Program comprehension.[Rajlich, 2002] ๏ Concept location aims at identifying user-observable features and locating their implementation within code regions. 2
  • 3. CONCEPT LOCATION AS TRACE SEGMENTATION ๏ Use textual content of methods to split execution trace into segments that implement concepts related to the features of interest. ๏ Asadi et al. [Asadi et al., 2010]: Identify concepts in execution trace by finding cohesive and decoupled fragments of the trace. ๏ Medini et al. [Medini et al., 2011]: Identify concepts by computing the exact split of an execution trace into segments. 3
  • 4. PROPOSED APPROACH (1) ๏ These approaches create segments but do not assign a label to the identified segments. ๏ SCAN (Segment Concept AssigNer) approach: Assign meaningful labels to chunks of segmented traces. ✦ Used VSM to label identified segments. ✦ Used FCA to relate segments. 4
  • 5. PROPOSED APPROACH (2) ๏ SCAN accepts as input one or more execution traces. ๏ Trace segmentations obtained using the tool by Medini et al. [Medini et al., 2011]. ๏ Labeling of identified trace segments. ๏ FCA module to identify relations between segments. 5
  • 6. APPROACH DETAILS ๏ Multi-threading: Induces variability in traces collected for a given scenario. ๏ To limit this effect in assigning labels to segments, SCAN is able to merge segments obtained in multiple executions of the same scenario. ๏ Recognize similarities between segments belonging to multiple execution traces and merge them. 6
  • 7. APPROACH: LABELING SEGMENTS ๏ Source of information: Terms contained in the signature of invoked methods. ๏ Hypothesis: A term appearing often in a particular segment, but not in other segments, provides linguistic information important for that given segment. ๏ SCAN ranks the terms of the segment terms by tf-idf and keeps the topmost ones. 7
  • 8. FORMAL CONCEPT ๏ Used to identify relations between concepts identified in different segments. ๏ Groups objects that have common attributes: Objects are segments and attributes are terms extracted for the segments. ๏ A concept: Maximal collection of objects that has common attributes. Grouping of all cohesive set of segments sharing terms. 8
  • 9. FCA EXAMPLE ๏ FCA lattice produced for two executions of the scenario “New Package”. All segments and concepts are similar between the two traces, except for segment 10 of “NewPackage1”. ๏ SCAN’s ability to recognize the occurrence of the same concepts in different executions. 9
  • 10. CASE STUDY Systems Number of Segments 15,706 930 54 5,960 554 32 Draw Ellipse 5,252 562 33 Draw Ellipse, Delete Ellipse 10,760 953 53 Draw Rectangle, Draw Ellipse 8,790 690 30 New Class 82,579 2,785 32 New Package 21,423 1,642 19 New Class, New Package ๏ Compressed Size Draw Rectangle, Delete Rectangle ArgoUML 0.19.8 Original Size Draw Rectangle JHotDraw 5.1 Scenarios 38,940 1,220 13 For each scenario we collected a number (2-3) of traces. 10
  • 11. RESEARCH QUESTIONS ๏ RQ1. How effective is SCAN in assigning labels to segments? ๏ RQ2. Does SCAN help to discover relations between segments? Does it help to discover the macro phases in a trace? 11
  • 12. RQ1:VALIDATION ๏ ๏ Segment Number We manually built labels for each segment and validated the SCAN results. Automatic Labels Manual Labels 1 draw iconkit creat palett text tool button line imag icon Create drawing palette button tool and create icons kit. 2 draw cut transfer figur command view Execute draw figure command. 3 draw menu copi shortcut past add command transfer duplic view Add a command with the given shortcut to the menu. 4 draw transfer delet figur command view Execute draw figure command. 12
  • 13. RQ1: RESULTS (JHOTDRAW) Precision Recall Scenario Q1 median Q3 mean Q1 median Q3 mean Draw Rectangle 0.50 0.60 0.83 0.64 0.75 0.83 1.00 0.81 Draw Rectangle, Delete Rectangle 0.50 0.60 0.72 0.65 0.70 0.80 1.00 0.82 Draw Rectangle, Draw Ellipse 0.40 0.60 0.70 0.56 0.67 0.80 1.00 0.81 ๏ The mean Precision varies between 0.56 and 0.65 ๏ The mean Recall is stable around 0.81-0.82 13
  • 14. RQ1: RESULTS (ARGOUML) Precision Recall Scenario Q1 Q3 mean Q1 median Q3 mean New Class 0.29 0.40 0.50 0.40 0.50 0.67 0.75 0.64 New Package 0.29 0.33 0.50 0.36 0.50 0.50 0.71 0.54 New Class, New Package ๏ median 0.20 0.33 0.50 0.38 0.25 0.50 0.67 0.48 Performances are relatively lower than those obtained for JHotDraw. 14
  • 15. RQ2: RESULTS (ARGOUML) ๏ FCA lattice for the execution trace of the scenario “New Class” ๏ S1: System start-up and S2-S7 : “prepare creation” and “addition” of a new UML Class. 15
  • 16. RQ2: RESULTS (ARGOUML) ๏ FCA lattice for the execution trace of the scenario “New Class” ๏ S1: System start-up and S2-S7 : “prepare creation” and “addition” of a new UML Class. 15
  • 17. RQ2: RESULTS (ARGOUML) ๏ S4, 10 and 16 implement the same concept. ๏ The concept containing segments 3, 9 and 15 is a superconcept of the one containing segments 2, 8 and 14. It points to higher level concepts (generate key java module), while the sub-concept includes segments specific of the display functionality. 16
  • 18. RQ2: RESULTS (ARGOUML) ๏ S4, 10 and 16 implement the same concept. ๏ The concept containing segments 3, 9 and 15 is a superconcept of the one containing segments 2, 8 and 14. It points to higher level concepts (generate key java module), while the sub-concept includes segments specific of the display functionality. 16
  • 19. RQ2: RESULTS (ARGOUML) ๏ S4, 10 and 16 implement the same concept. ๏ The concept containing segments 3, 9 and 15 is a superconcept of the one containing segments 2, 8 and 14. It points to higher level concepts (generate key java module), while the sub-concept includes segments specific of the display functionality. 16
  • 20. RQ2: RESULTS (ARGOUML) ๏ The relations between cohesive sets of segments regarded as execution phases. One phase is built by repeated segments in a trace. ✦ S 2, 3, 4, 5 and 6 define an execution phase on the trace. ✦ This phase is repeated two times: S 8, 9, 10, 11 and 12, and S 14, 15, 16, 17 and 18. ✦ The rest of the segments are also converted to an execution phases. 17
  • 21. RQ2: RESULTS (ARGOUML) ๏ The relations between cohesive sets of segments regarded as execution phases. One phase is built by repeated segments in a trace. ✦ S 2, 3, 4, 5 and 6 define an execution phase on the trace. ✦ This phase is repeated two times: S 8, 9, 10, 11 and 12, and S 14, 15, 16, 17 and 18. ✦ The rest of the segments are also converted to an execution phases. 17
  • 22. RQ2: IDENTIFYING PHASES ๏ After the phases we draw a higher level flow diagram of phases with labels, using the temporal relations between phases. ๏ The “New Class” scenario, generating 32 segments, can be summarized into four macro execution phases. ✦ Phase1: System startup ✦ Phase2: Activity needed to create class and properties (e.g., state, composite, etc). 18
  • 23. DISCUSSION ๏ Quantitative results might be read as indicators of poor performance of the label assignment algorithm (recall/ precision around 50% and above). ๏ Adequate to support program understanding tasks. We expect that developer with some knowledge about the application would find it relatively easy. 19
  • 24. 20
  • 25. FUTURE WORK ๏ Phase recognition: We plan to investigate how to automate it. ๏ Further validation of SCAN with a pool of independent developers. ๏ Application of SCAN to label multiple trace segmentations, i.e., segmentations of traces corresponding to different scenarios. 21