Using Structural Generalization to Discover Replacement Functionality for API Evolution
Date
2014-05-12
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
New versions of software libraries sometimes introduce incompatible
and undocumented changes into their application
programming interfaces (APIs). A developer whose
software uses the API must determine how to migrate it
in response. Existing approaches for determining migration
paths are often of limited help, requiring speci c library
characteristics, or resolving a small subset of actual changes.
We present a new approach, matching via structural general-
ization (MSG), that recommends replacement functionality
from a new API version, based on its structural similarity
to functionality removed from the old API. We rei ed
our approach in a prototype API change recommendation
tool called Umami, which we used to resolve binary incompatible
changes in 20 Java library migrations, comparing
its accuracy to other analysis and change recommendation
techniques. Our results suggest MSG is complementary to
existing approaches, providing useful results in API migration
situations where the others fail.
Description
Keywords
recommendation, evaluation