SlideShare a Scribd company logo
1 of 21
Download to read offline
Giuliano Antoniol and Yann-Gaël Guéhéneuc
© Antoniol and Guéhéneuc, 2005
This presentation has been given at ICSM, the 28th of September 2005, Budapest, Hungary.
Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns
Group of Open, Distributed Systems, Experimental Software Engineering
Department of Informatics and Operations Research
University of Montreal
GEODES
Feature Identification: a Novel
Approach and a Case Study
ICSM 2005
Budapest, Hungary
2/20
Problems and Summary
n Our approach
– Builds higher-level abstractions through
feature identification and comparison
– Is an alternative to source code browsing
(i.e., design recovery)
n Source code browsing is expensive
– Program comprehension, maintenance
(As highlighted in yesterday’s session on
Program Comprehension)
3/20
Feature Identification and
Comparison in a Nutshell
n Static and dynamic
analyses
n One functionality
– Two scenarios
n Large C++ multi-
threaded program
n Features
(micro-architectures)
4/20
Our Approach
1. Program model creation
– Static analyses
2. Feature identification
– Dynamic analyses
– Knowledge-based filtering
– Probabilistic ranking
3. Feature models creation
4. Feature comparisons
5/20
1. Program Model Creation
n Static analysis of C++ source code
– Strict analysis
• Classes are only syntactic
• Structures skipped
n AOL representation
n PADL meta-model
6/20
2. Feature Identification (1/6)
n A functionality, two scenarios ⇒ Two traces
n Comparison of the two traces to identify the
feature related to the functionality
n Dynamic analysis
– Traces = Sequences of intervals
– Intervals = Sequences of events
– Events are (ir)relevant to the feature
7/20
2. Feature Identification (2/6)
n Without noise, set operations
n With noise
– Imprecise locations of events
– Imprecise beginning/end of intervals
because
– C++ multi-threaded or distributed
– Statistical profiling imprecision
feature-relevant events tangled or lost
8/20
2. Feature Identification (3/6)
n Knowledge-based filtering
– Frequent (ir)relevant events
– Application-specific (middleware, code
generators, external components…) events
9/20
2. Feature Identification (4/6)
n Probabilistic ranking
– scenarios (not) exercising a feature
– intervals with (ir)relevant events
– may contain irrelevant events
– Wilde’s relevance index for an event
10/20
2. Feature Identification (5/6)
n Probabilistic ranking
– Irrelevant events frequent with
– Few intervals in , many intervals in
– Renormalisation of Wilde’s equation
11/20
2. Feature Identification (6/6)
n Probabilistic ranking
– For a positive threshold
– Set of events relevant to scenarios
12/20
3. Feature Models Creation
n Using the program architectural model
(from 1.) and events in (from 2.)
n A feature contains classes, methods
identified in
n A feature
– Micro-architecture, subset of the cloned
program model
– Arbitrarily narrow or large by transitivity
13/20
4. Feature Comparisons
n Two feature models
– For scenarios
– For scenarios
n Computation of the
transformations
n Highlighting of the
differences
14/20
Case Study (1/5)
n Mozilla browser (C++ multi-threaded)
n Naïve approach vs. Formal concept
analysis approach vs. Our approach
n Processor emulator vs. Statistical profiler
15/20
Case Study (2/5)
n Scenarios
1. Visit a book-marked URL
2. Scenario 1. + Save the URL
n Program comprehension task
– Feature relevant to saving a URL
n Objective
– Usefulness of our approach
wrt. naïve and FCA-based approaches
16/20
Case Study (3/5)
n Number of methods
to analyse manually
– Naïve
• bookm : 45, link : 18
• bookm and link : 14
• Up to 3,000 methods
for other terms
– FCA
• 11 concepts
• 1,038 methods are
retained from 13,325
to 26,613 methods
– Our approach
• with different
• Complemented with a
naïve analysis:
1 class, 5 methods
17/20
Case Study (4/5)
n FCA vs. Our approach
0
20000000
40000000
60000000
80000000
100000000
120000000
140000000
I* I I* I
FCA Our Approach
Method Calls
Startup
Shutdown
Scenario 1
Scenario 2
Startup Shutdown Scenario 1 Scenario 2
0
5000
10000
15000
20000
25000
30000
I* I I* I
FCA Our Approach
Distinct Method Calls
Startup
Shutdown
Scenario 1
Scenario 2
Startup Shutdown Scenario 1 Scenario 2
18/20
Case Study (5/5)
n Valgrind, x86 processor emulator
n JProfiler, Mozilla statistical profiler
19/20
Related Work
n Meta-modelling and transformations
“Every model needs a meta-model”, Dave Thomas
– Pagel and Winter
– Sunyé
– Jezequel et al. with UMLAUT
n Static and dynamic
analyses
– Ernst et al. (Daikon)
– Jeffery et al. (UFO)
– Reiss et al.
– Hamou-Lhadj et al.
n Feature identification
– Wilde and Scully
– Chen and Rajlich (ASDG)
– Eisenbarth et al. (FCA)
– Salah and Mancoridis
(feature-interaction views)
20/20
Conclusion
n Our approach
– No scalability issue
n Future work
– Feature comparisons
– Width of micro-architectures
– Feature evolution
– Visualisation
21/20
Case Study
n Naïve
n FCA
n Our approach
(filtered sizes)

More Related Content

Similar to Icsm05.ppt

Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...
Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...
Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...Project Controls Expo
 
A Hybrid Theory Of Power Theft Detection
A Hybrid Theory Of Power Theft DetectionA Hybrid Theory Of Power Theft Detection
A Hybrid Theory Of Power Theft DetectionCamella Taylor
 
iFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsiFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsICSM 2010
 
How to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software QualityHow to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software Qualityuqasar
 
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig...
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig..."How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig...
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig...Data Science Milan
 
Requirements document for big data use cases
Requirements document for big data use casesRequirements document for big data use cases
Requirements document for big data use casesAllied Consultants
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect PredictionSung Kim
 
CSE NEW_4th yr w.e.f. 2018-19.pdf
CSE NEW_4th yr w.e.f. 2018-19.pdfCSE NEW_4th yr w.e.f. 2018-19.pdf
CSE NEW_4th yr w.e.f. 2018-19.pdfssuser5a7261
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Daniel Mendez
 
Partial Object Detection in Inclined Weather Conditions
Partial Object Detection in Inclined Weather ConditionsPartial Object Detection in Inclined Weather Conditions
Partial Object Detection in Inclined Weather ConditionsIRJET Journal
 
Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Preferred Networks
 
Criminal Record Management System in the Perspective of Somalia
Criminal Record Management System in the Perspective of Somalia  Criminal Record Management System in the Perspective of Somalia
Criminal Record Management System in the Perspective of Somalia fowzi mohamed
 
CRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTCRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTIRJET Journal
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect predictionAmmAr mobark
 
Laurence Sigler (2023) Content management, ecommerce and interoperability fra...
Laurence Sigler (2023) Content management, ecommerce and interoperability fra...Laurence Sigler (2023) Content management, ecommerce and interoperability fra...
Laurence Sigler (2023) Content management, ecommerce and interoperability fra...Francisco Javier Mora Serrano
 
Spm project planning
Spm project planning Spm project planning
Spm project planning Kanchana Devi
 
Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...SpagoWorld
 

Similar to Icsm05.ppt (20)

ICSM05.ppt
ICSM05.pptICSM05.ppt
ICSM05.ppt
 
Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...
Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...
Project Controls Expo, 18th Nov 2014 - "Schedule Risk Analysis for Complex Pr...
 
A Hybrid Theory Of Power Theft Detection
A Hybrid Theory Of Power Theft DetectionA Hybrid Theory Of Power Theft Detection
A Hybrid Theory Of Power Theft Detection
 
iFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature ImplementationsiFL: An Interactive Environment for Understanding Feature Implementations
iFL: An Interactive Environment for Understanding Feature Implementations
 
How to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software QualityHow to define Quality Models for Measuring Software Quality
How to define Quality Models for Measuring Software Quality
 
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig...
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig..."How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig...
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig...
 
Requirements document for big data use cases
Requirements document for big data use casesRequirements document for big data use cases
Requirements document for big data use cases
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Prediction
 
CSE NEW_4th yr w.e.f. 2018-19.pdf
CSE NEW_4th yr w.e.f. 2018-19.pdfCSE NEW_4th yr w.e.f. 2018-19.pdf
CSE NEW_4th yr w.e.f. 2018-19.pdf
 
Linear regression model
Linear regression modelLinear regression model
Linear regression model
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...
 
Partial Object Detection in Inclined Weather Conditions
Partial Object Detection in Inclined Weather ConditionsPartial Object Detection in Inclined Weather Conditions
Partial Object Detection in Inclined Weather Conditions
 
Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013
 
Criminal Record Management System in the Perspective of Somalia
Criminal Record Management System in the Perspective of Somalia  Criminal Record Management System in the Perspective of Somalia
Criminal Record Management System in the Perspective of Somalia
 
Code Crime Scene
Code Crime SceneCode Crime Scene
Code Crime Scene
 
CRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTCRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECAST
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect prediction
 
Laurence Sigler (2023) Content management, ecommerce and interoperability fra...
Laurence Sigler (2023) Content management, ecommerce and interoperability fra...Laurence Sigler (2023) Content management, ecommerce and interoperability fra...
Laurence Sigler (2023) Content management, ecommerce and interoperability fra...
 
Spm project planning
Spm project planning Spm project planning
Spm project planning
 
Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...Simpda 2014 - A living story: measuring quality of developments in a large in...
Simpda 2014 - A living story: measuring quality of developments in a large in...
 

More from Yann-Gaël Guéhéneuc

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Yann-Gaël Guéhéneuc
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Yann-Gaël Guéhéneuc
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6Yann-Gaël Guéhéneuc
 

More from Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 

Recently uploaded

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Icsm05.ppt

  • 1. Giuliano Antoniol and Yann-Gaël Guéhéneuc © Antoniol and Guéhéneuc, 2005 This presentation has been given at ICSM, the 28th of September 2005, Budapest, Hungary. Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns Group of Open, Distributed Systems, Experimental Software Engineering Department of Informatics and Operations Research University of Montreal GEODES Feature Identification: a Novel Approach and a Case Study ICSM 2005 Budapest, Hungary
  • 2. 2/20 Problems and Summary n Our approach – Builds higher-level abstractions through feature identification and comparison – Is an alternative to source code browsing (i.e., design recovery) n Source code browsing is expensive – Program comprehension, maintenance (As highlighted in yesterday’s session on Program Comprehension)
  • 3. 3/20 Feature Identification and Comparison in a Nutshell n Static and dynamic analyses n One functionality – Two scenarios n Large C++ multi- threaded program n Features (micro-architectures)
  • 4. 4/20 Our Approach 1. Program model creation – Static analyses 2. Feature identification – Dynamic analyses – Knowledge-based filtering – Probabilistic ranking 3. Feature models creation 4. Feature comparisons
  • 5. 5/20 1. Program Model Creation n Static analysis of C++ source code – Strict analysis • Classes are only syntactic • Structures skipped n AOL representation n PADL meta-model
  • 6. 6/20 2. Feature Identification (1/6) n A functionality, two scenarios ⇒ Two traces n Comparison of the two traces to identify the feature related to the functionality n Dynamic analysis – Traces = Sequences of intervals – Intervals = Sequences of events – Events are (ir)relevant to the feature
  • 7. 7/20 2. Feature Identification (2/6) n Without noise, set operations n With noise – Imprecise locations of events – Imprecise beginning/end of intervals because – C++ multi-threaded or distributed – Statistical profiling imprecision feature-relevant events tangled or lost
  • 8. 8/20 2. Feature Identification (3/6) n Knowledge-based filtering – Frequent (ir)relevant events – Application-specific (middleware, code generators, external components…) events
  • 9. 9/20 2. Feature Identification (4/6) n Probabilistic ranking – scenarios (not) exercising a feature – intervals with (ir)relevant events – may contain irrelevant events – Wilde’s relevance index for an event
  • 10. 10/20 2. Feature Identification (5/6) n Probabilistic ranking – Irrelevant events frequent with – Few intervals in , many intervals in – Renormalisation of Wilde’s equation
  • 11. 11/20 2. Feature Identification (6/6) n Probabilistic ranking – For a positive threshold – Set of events relevant to scenarios
  • 12. 12/20 3. Feature Models Creation n Using the program architectural model (from 1.) and events in (from 2.) n A feature contains classes, methods identified in n A feature – Micro-architecture, subset of the cloned program model – Arbitrarily narrow or large by transitivity
  • 13. 13/20 4. Feature Comparisons n Two feature models – For scenarios – For scenarios n Computation of the transformations n Highlighting of the differences
  • 14. 14/20 Case Study (1/5) n Mozilla browser (C++ multi-threaded) n Naïve approach vs. Formal concept analysis approach vs. Our approach n Processor emulator vs. Statistical profiler
  • 15. 15/20 Case Study (2/5) n Scenarios 1. Visit a book-marked URL 2. Scenario 1. + Save the URL n Program comprehension task – Feature relevant to saving a URL n Objective – Usefulness of our approach wrt. naïve and FCA-based approaches
  • 16. 16/20 Case Study (3/5) n Number of methods to analyse manually – Naïve • bookm : 45, link : 18 • bookm and link : 14 • Up to 3,000 methods for other terms – FCA • 11 concepts • 1,038 methods are retained from 13,325 to 26,613 methods – Our approach • with different • Complemented with a naïve analysis: 1 class, 5 methods
  • 17. 17/20 Case Study (4/5) n FCA vs. Our approach 0 20000000 40000000 60000000 80000000 100000000 120000000 140000000 I* I I* I FCA Our Approach Method Calls Startup Shutdown Scenario 1 Scenario 2 Startup Shutdown Scenario 1 Scenario 2 0 5000 10000 15000 20000 25000 30000 I* I I* I FCA Our Approach Distinct Method Calls Startup Shutdown Scenario 1 Scenario 2 Startup Shutdown Scenario 1 Scenario 2
  • 18. 18/20 Case Study (5/5) n Valgrind, x86 processor emulator n JProfiler, Mozilla statistical profiler
  • 19. 19/20 Related Work n Meta-modelling and transformations “Every model needs a meta-model”, Dave Thomas – Pagel and Winter – Sunyé – Jezequel et al. with UMLAUT n Static and dynamic analyses – Ernst et al. (Daikon) – Jeffery et al. (UFO) – Reiss et al. – Hamou-Lhadj et al. n Feature identification – Wilde and Scully – Chen and Rajlich (ASDG) – Eisenbarth et al. (FCA) – Salah and Mancoridis (feature-interaction views)
  • 20. 20/20 Conclusion n Our approach – No scalability issue n Future work – Feature comparisons – Width of micro-architectures – Feature evolution – Visualisation
  • 21. 21/20 Case Study n Naïve n FCA n Our approach (filtered sizes)