Mining API Mapping For Language Migration - Presentation
Mining API Mapping For Language Migration - Presentation
FOR LANGUAGE
MIGRATION
Seyed Hamed Moghimi
Sharif University of Technology
Data Mining - Fall 2014
Based on Zhong, Hao, et al. "Mining API mapping for
language migration."Proceedings of the 32nd
ACM/IEEE International Conference on Software
Engineering-Volume 1. ACM, 2010.
CONTENTS
Proposed Approach
2
22
INTRODUCTION
3
22
4
22
DEFINITIONS
API:
Application Programming Interface.
API Library: A library that provide reusable
APIs.
Client Code: A code that uses or extends an
API.
Mapping Relation
Entities
E1 in Language L1
Entities
E2 in Language L2
22
CONTENTS
Proposed Approach
6
22
7
22
PROPOSED APPROACH
MAM (Mining API Mapping) steps:
1. Align Client Code
2. Mapping API Classes
3. Mapping API Methods
8
22
Between
code.
9
22
10
22
11
22
12
22
13
22
Defined
for each client code method
An ATG is a directed graph
is a set of all variables playing role in
Class
etc.
14
22
15
22
16
22
COMPARING ATGS
At last we need to compare two built ATGs to
mine mapping relations.
The mapping relations should satisfy these
criteria:
17
22
18
22
NO!
Mapped?
Mapped?
YES!
19
22
CONTENTS
Proposed Approach
20
22
EVALUATIONS
21
22
EVALUATIONS (CONT.)
22
22
CONCLUSION
A novel approach to Mine mapping relations of
APIs
From existing projects with multiple versions
Evaluated on projects written in Java and C#
Better results than existing tool Java2CSharp
23
22