Reference papers on API mapping, migration, and evolution collected during PhD research (2018). Topics include: API usage adaptation (LibSync), statistical API mapping mining (StaMiner, MAM), API mapping via vector representations (Word2Vec), text mining for API mappings (TMAP), library migration graphs, framework evolution (AURA), class library migration refactoring, and API specification inference (Doc2Spec).
1.2 KiB
category, type, person, date, source
| category | type | person | date | source |
|---|---|---|---|---|
| academic | academic | Yanxin Lu | 2005 | balaban_05_migration.pdf |
Refactoring Support for Class Library Migration
Ittai Balaban (NYU), Frank Tip, Robert Fuhrer (IBM T.J. Watson Research Center)
OOPSLA 2005
As object-oriented class libraries evolve, classes are occasionally deprecated in favor of others with roughly the same functionality. In Java, for example, Hashtable has been superseded by HashMap, and Iterator is now preferred over Enumeration. Migrating client applications to use the new idioms is desirable, but making the required changes to declarations and allocation sites can be quite labor-intensive. Moreover, migration becomes complicated if a legacy class is not completely equivalent to its replacement, or if multiple interdependent classes must be migrated simultaneously.
The authors present an approach in which mappings between legacy classes and their replacements are specified by the programmer. Then, an analysis based on type constraints determines where declarations and allocation sites can be updated. The method was implemented in Eclipse, and evaluated on a number of Java applications. On average, the tool could migrate more than 90% of the references to legacy classes.