MOFAE - Multi-objective
Optimization Approach to
Framework API Evolution
Wei Wu1,2, Yann-Gaël Guéhéneuc1, Giuliano Antonio...
Framework API Evolution
 Observation

– APIs change between two versions of a
framework

Département de génie informatiqu...
Framework API Evolution
 Problem

– No documents about how to replace the missing
APIs
– Manually searching for the repla...
Existing Approaches


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



Meth...
Single Feature Approaches
 If

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

Dépar...
Hybrid Approaches
 Which

feature to trust?

– Prioritizing
– Weighting system

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

optimization (MOOP) [8] is
the process of finding solutions to problems
wi...
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...
MOFAE
 Use

some features as the objectives
 For a missing API
– Select the Pareto front of the candidates
– Sort the ca...
Features Used by MOFAE








Call dependency similarity
– Confidence value and support
Method comment similarity
– L...
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 corr...
Effort Analysis
 Single-recommendation

approaches

– #CSA – correct replacement number
– |T| - total missing API number
...
Effort Analysis
 Multi-recommendation

approaches:

– #CMA – correct replacement number
– #Posavg – average correct repla...
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 fi...
References









[1] B. Dagenais and M. P. Robillard. Recommending adaptive changes for framework
evolution. TO...
MOFAE – Multi-objective Optimization Approach to
Framework API Evolution

Thank You!

Département de génie informatique et...
Prochain SlideShare
Chargement dans…5
×

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

427 vues

Publié le

Multi-objective optimisation, API, evolution

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
427
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. 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
  2. 2. Framework API Evolution  Observation – APIs change between two versions of a framework Département de génie informatique et de génie logiciel
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. Hybrid Approaches  Which feature to trust? – Prioritizing – Weighting system Département de génie informatique et de génie logiciel
  7. 7. 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
  8. 8. How MOOP Works Département de génie informatique et de génie logiciel
  9. 9. How MOOP Works Département de génie informatique et de génie logiciel
  10. 10. MOFAE  Recommendation system modeling framework API evolution as a MOOP problem Département de génie informatique et de génie logiciel
  11. 11. 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
  12. 12. 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
  13. 13. Output of MOFAE Département de génie informatique et de génie logiciel
  14. 14. Output of MOFAE Département de génie informatique et de génie logiciel
  15. 15. Output of MOFAE Département de génie informatique et de génie logiciel
  16. 16. Output of MOFAE Département de génie informatique et de génie logiciel
  17. 17. Evaluation Département de génie informatique et de génie logiciel
  18. 18. Comparison Département de génie informatique et de génie logiciel
  19. 19. Correct Recommendation Position Département de génie informatique et de génie logiciel
  20. 20. Recommendation List Size Département de génie informatique et de génie logiciel
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. Effort Analysis  Effort difference: Département de génie informatique et de génie logiciel
  25. 25. Effort Analysis Département de génie informatique et de génie logiciel
  26. 26. Effort Analysis  SE/EE =1.5 Département de génie informatique et de génie logiciel
  27. 27. Effort Analysis  Smax = 10 Département de génie informatique et de génie logiciel
  28. 28. Limitation  Semi-automatic  Depends on the features Département de génie informatique et de génie logiciel
  29. 29. 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
  30. 30. 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
  31. 31. MOFAE – Multi-objective Optimization Approach to Framework API Evolution Thank You! Département de génie informatique et de génie logiciel

×