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
 
Differences Between An Imperative Programming Language And...
Differences Between An Imperative Programming Language And...Differences Between An Imperative Programming Language And...
Differences Between An Imperative Programming Language And...Jenna Caldejon
 
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
 
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
 
Prediction Of Clean Coal Using Mathematical Models
Prediction Of Clean Coal Using Mathematical ModelsPrediction Of Clean Coal Using Mathematical Models
Prediction Of Clean Coal Using Mathematical ModelsChantel Marie
 
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
 

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
 
Differences Between An Imperative Programming Language And...
Differences Between An Imperative Programming Language And...Differences Between An Imperative Programming Language And...
Differences Between An Imperative Programming Language And...
 
Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)
 
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
 
Prediction Of Clean Coal Using Mathematical Models
Prediction Of Clean Coal Using Mathematical ModelsPrediction Of Clean Coal Using Mathematical Models
Prediction Of Clean Coal Using Mathematical Models
 
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
 

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

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 

Recently uploaded (20)

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 

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