Using Structural Generalization to Discover Replacement Functionality for API Evolution
dc.contributor.author | Cossette, Bradley | en_US |
dc.contributor.author | Walker, Robert | en_US |
dc.contributor.author | Cottrell, Rylan | en_US |
dc.date.accessioned | 2014-05-12T21:01:23Z | |
dc.date.available | 2014-05-12T21:01:23Z | |
dc.date.issued | 2014-05-12 | |
dc.description.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. | en_US |
dc.description.refereed | No | en_US |
dc.identifier.department | 2014-1058-09 | en_US |
dc.identifier.doi | http://dx.doi.org/10.11575/PRISM/31125 | |
dc.identifier.uri | http://hdl.handle.net/1880/49996 | |
dc.language.iso | eng | en_US |
dc.publisher.corporate | University of Calgary | en_US |
dc.publisher.faculty | Science | en_US |
dc.subject | recommendation | en_US |
dc.subject | evaluation | en_US |
dc.subject.other | API, adaptive change | en_US |
dc.title | Using Structural Generalization to Discover Replacement Functionality for API Evolution | en_US |
dc.type | technical report | en_US |
thesis.degree.discipline | Computer Science | en_US |