Current object-oriented applications depend heavily on third party Application Programming Interfaces (APIs). Developers often need to migrate their applications across competing APIs for the same domain, usually seeking better designs, functionality or performance. Independently developed APIs may agree on the overall semantic model at some level of abstraction but they often differ in many details. The term API mismatch refers to the challenge of migrating across two APIs. The main goals of this project are to devise a method for migration of applications across APIs and to develop techniques to automate and guide the execution of the migration.