SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
MOFAE - Multi-objective
Optimization Approach to
Framework API Evolution
Wei Wu1,2, Yann-Gaël Guéhéneuc1, Giuliano Antoniol2
Ptidej Team1, SOCCER Lab2
DGIGL, École Polytechnique de Montréal, Canada

Département de génie informatique et de génie logiciel
Framework API Evolution
 Observation

– APIs change between two versions of a
framework

Département de génie informatique et de génie logiciel
Framework API Evolution
 Problem

– No documents about how to replace the missing
APIs
– Manually searching for the replacements is timeconsuming

Département de génie informatique et de génie logiciel
Existing Approaches


Call-dependency similarity
– SemDiff [1], Schäfer et al. [2], Beagle [3], HiMa[4], AURA[5]



Method signature text similarity
– Kim et al. [6], Beagle [3], AURA [5]



Software design model similarity
– Diff-CatchUp [7]



Software metrics similarity
– Beagle [3]



Comments similarity
– HiMa [4]

Département de génie informatique et de génie logiciel
Single Feature Approaches
 If

the replacements are not similar in the
feature, the approaches cannot report them.

Département de génie informatique et de génie logiciel
Hybrid Approaches
 Which

feature to trust?

– Prioritizing
– Weighting system

Département de génie informatique et de génie logiciel
Multi-Objective Optimization
 Multi-objective

optimization (MOOP) [8] is
the process of finding solutions to problems
with potentially conflicting objectives

Département de génie informatique et de génie logiciel
How MOOP Works

Département de génie informatique et de génie logiciel
How MOOP Works

Département de génie informatique et de génie logiciel
MOFAE
 Recommendation

system modeling
framework API evolution as a MOOP
problem

Département de génie informatique et de génie logiciel
MOFAE
 Use

some features as the objectives
 For a missing API
– Select the Pareto front of the candidates
– Sort the candidates on the Pareto front by the
number of features in which the candidates are
the most similar

Département de génie informatique et de génie logiciel
Features Used by MOFAE








Call dependency similarity
– Confidence value and support
Method comment similarity
– Longest Common Subsequence (LCS)
Method signature text similarity
– LCS, Levenshtein Distance (LD) and Method-level
Distance (MD)
Inheritance tree similarity
– Inheritance tree string LCS

Département de génie informatique et de génie logiciel
Output of MOFAE

Département de génie informatique et de génie logiciel
Output of MOFAE

Département de génie informatique et de génie logiciel
Output of MOFAE

Département de génie informatique et de génie logiciel
Output of MOFAE

Département de génie informatique et de génie logiciel
Evaluation

Département de génie informatique et de génie logiciel
Comparison

Département de génie informatique et de génie logiciel
Correct Recommendation Position

Département de génie informatique et de génie logiciel
Recommendation List Size

Département de génie informatique et de génie logiciel
Effort Analysis


Search Effort (SE) +
Evaluation Effort (EE)



Smax, a maximum number of tries.



#C, Number of correct recommendations

Département de génie informatique et de génie logiciel
Effort Analysis
 Single-recommendation

approaches

– #CSA – correct replacement number
– |T| - total missing API number

Département de génie informatique et de génie logiciel
Effort Analysis
 Multi-recommendation

approaches:

– #CMA – correct replacement number
– #Posavg – average correct replacement position
– #Sizeavg – average recommendation list size

Département de génie informatique et de génie logiciel
Effort Analysis
 Effort

difference:

Département de génie informatique et de génie logiciel
Effort Analysis

Département de génie informatique et de génie logiciel
Effort Analysis
 SE/EE

=1.5

Département de génie informatique et de génie logiciel
Effort Analysis
 Smax

= 10

Département de génie informatique et de génie logiciel
Limitation
 Semi-automatic
 Depends

on the features

Département de génie informatique et de génie logiciel
Conclusion
 MOFAE

can detect 18% more correct
change rules than previous works.
 87% correct recommendations are the first,
99% correct recommendations are in top
three.
 Average size 3.7, median size 2.2, maximum
size 8.
 Effort saving 31%

Département de génie informatique et de génie logiciel
References









[1] B. Dagenais and M. P. Robillard. Recommending adaptive changes for framework
evolution. TOSEM 2011.
[2] T. Schäfer, J. Jonas, and M. Mezini. Mining framework usage changes from
instantiation code. ICSE 2008.
[3] M. W. Godfrey and L. Zou. Using origin analysis to detect merging and splitting of
source code entities. TSE 2005.
[4] S. Meng, X. Wang, L. Zhang, and H. Mei. A history-based matching approach to
identification of framework evolution. ICSE 2012.
[5] W. Wu, Y.-G. Guéhéneuc, G. Antoniol, and M. Kim. Aura: a hybrid approach to identify
framework evolution. ICSE 2010.
[6] M. Kim, D. Notkin, and D. Grossman. Automatic inference of structural changes for
matching across program versions. ICSE 2007.
[7] Z. Xing and E. Stroulia. API-evolution support with Diff-CatchUp. TSE 2007.
[8] Y. Sawaragi, H. Nakayama, and T. Tanino. Theory of multiobjective optimization.
Academic Press, 1985.

Département de génie informatique et de génie logiciel
MOFAE – Multi-objective Optimization Approach to
Framework API Evolution

Thank You!

Département de génie informatique et de génie logiciel

Contenu connexe

En vedette

खेळण्यांचा जादूगर - अरविंद गुप्ता
खेळण्यांचा जादूगर - अरविंद गुप्ताखेळण्यांचा जादूगर - अरविंद गुप्ता
खेळण्यांचा जादूगर - अरविंद गुप्ता
atfmaha
 
Semelhança de figuras
Semelhança de figurasSemelhança de figuras
Semelhança de figuras
mafaldaluis
 
Skimming Scanning
Skimming ScanningSkimming Scanning
Skimming Scanning
jjutglar
 
Skimming and scanning_in_reading
Skimming and scanning_in_readingSkimming and scanning_in_reading
Skimming and scanning_in_reading
shandi219
 

En vedette (18)

IBM Bâtissons une planète plus intelligente
IBM Bâtissons une planète plus intelligenteIBM Bâtissons une planète plus intelligente
IBM Bâtissons une planète plus intelligente
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
 
Apresentação A&GM (Sérgio Grassi) - ViridisCon 2016
Apresentação A&GM (Sérgio Grassi) - ViridisCon 2016Apresentação A&GM (Sérgio Grassi) - ViridisCon 2016
Apresentação A&GM (Sérgio Grassi) - ViridisCon 2016
 
Apresentação pice 4
Apresentação pice 4Apresentação pice 4
Apresentação pice 4
 
खेळण्यांचा जादूगर - अरविंद गुप्ता
खेळण्यांचा जादूगर - अरविंद गुप्ताखेळण्यांचा जादूगर - अरविंद गुप्ता
खेळण्यांचा जादूगर - अरविंद गुप्ता
 
Amortização de baterias solares
Amortização de baterias solaresAmortização de baterias solares
Amortização de baterias solares
 
Semelhança de figuras
Semelhança de figurasSemelhança de figuras
Semelhança de figuras
 
Refund Fraud/Credit Card Skimming
Refund Fraud/Credit Card SkimmingRefund Fraud/Credit Card Skimming
Refund Fraud/Credit Card Skimming
 
Skimming Scanning
Skimming ScanningSkimming Scanning
Skimming Scanning
 
Marketing strategies
Marketing    strategiesMarketing    strategies
Marketing strategies
 
Advanced reading-course-27-may-2015
Advanced reading-course-27-may-2015Advanced reading-course-27-may-2015
Advanced reading-course-27-may-2015
 
Skimming & scanning
Skimming & scanningSkimming & scanning
Skimming & scanning
 
Skimming and scanning_in_reading
Skimming and scanning_in_readingSkimming and scanning_in_reading
Skimming and scanning_in_reading
 
Skimming and Scanning to Achieve Inferential Comprehension
Skimming and Scanning to Achieve Inferential ComprehensionSkimming and Scanning to Achieve Inferential Comprehension
Skimming and Scanning to Achieve Inferential Comprehension
 
Skimming and scanning speed reading techniques
Skimming and scanning  speed reading techniquesSkimming and scanning  speed reading techniques
Skimming and scanning speed reading techniques
 
Introduction of Effluent Treatment Plant
Introduction of Effluent Treatment PlantIntroduction of Effluent Treatment Plant
Introduction of Effluent Treatment Plant
 
Mobile Payment fraud & risk assessment
Mobile Payment fraud & risk assessmentMobile Payment fraud & risk assessment
Mobile Payment fraud & risk assessment
 
Skimming y scanning ss
Skimming y scanning ssSkimming y scanning ss
Skimming y scanning ss
 

Similaire à 130621 wei wu - mofae - multi-objective optimization approach to framework api evolution

Presentation GTI792 - Télémétrie JAUS
Presentation GTI792 - Télémétrie JAUSPresentation GTI792 - Télémétrie JAUS
Presentation GTI792 - Télémétrie JAUS
plcstpierre
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Emmanuel Hugonnet
 
Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10
François Huguet
 
Livre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et ApplicationsLivre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et Applications
Luc Desruelle
 
Livre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applicationsLivre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applications
Luc Desruelle
 
2.presentation merise
2.presentation merise2.presentation merise
2.presentation merise
shaheenyaar
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
Klee Group
 

Similaire à 130621 wei wu - mofae - multi-objective optimization approach to framework api evolution (20)

Priows présentation des résultats
Priows présentation des résultats Priows présentation des résultats
Priows présentation des résultats
 
Lmo08a.ppt
Lmo08a.pptLmo08a.ppt
Lmo08a.ppt
 
Lmo06.ppt
Lmo06.pptLmo06.ppt
Lmo06.ppt
 
Presentation GTI792 - Télémétrie JAUS
Presentation GTI792 - Télémétrie JAUSPresentation GTI792 - Télémétrie JAUS
Presentation GTI792 - Télémétrie JAUS
 
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
 
Transhumance pres
Transhumance presTranshumance pres
Transhumance pres
 
Gl intro
Gl introGl intro
Gl intro
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
 
Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10Transhumance pres anr_25-septembre synthese v10
Transhumance pres anr_25-septembre synthese v10
 
Gl rappels ac
Gl rappels acGl rappels ac
Gl rappels ac
 
Architecture logicielle #1 : introduction
Architecture logicielle #1 : introductionArchitecture logicielle #1 : introduction
Architecture logicielle #1 : introduction
 
Livre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et ApplicationsLivre LabVIEW 2015 : Programme et Applications
Livre LabVIEW 2015 : Programme et Applications
 
Livre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applicationsLivre LabVIEW : Programmation et applications
Livre LabVIEW : Programmation et applications
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
2.presentation merise
2.presentation merise2.presentation merise
2.presentation merise
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
Présentation de la rencontre du Groupe d'usagers FME_mars 2011
Présentation de la rencontre du Groupe d'usagers FME_mars 2011Présentation de la rencontre du Groupe d'usagers FME_mars 2011
Présentation de la rencontre du Groupe d'usagers FME_mars 2011
 
Presentation Dess Ebi
Presentation Dess EbiPresentation Dess Ebi
Presentation Dess Ebi
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 

Plus de Ptidej Team

Plus de 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
 

130621 wei wu - mofae - multi-objective optimization approach to framework api evolution