2013 · 52 citations · 26 references
ComputingComputer ScienceProgramming LanguagesSoftware EngineeringSystems ProgrammingApplication Programming InterfacesSoftware MaintenanceSoftware RefactoringApplication Programming Interface (Api)Automated Code MappingMaintenanceOpen-source Software DevelopmentSoftware Maintenance ProcessSource Code Change AnalysisSource Code EvolutionSource Code Transformation
Library migration is the process of replacing a third-party library in favor of a competing one during software maintenance. The process of transforming a software source code to become compliant with a new library is cumbersome and error-prone. Indeed, developers have to understand a new Application Programming Interface (API) and search for the right replacements for the functions they use from the old library. As the two libraries are independent, the functions may have totally different structures and names, making the search of mappings very difficult. To assist the developers in this difficult task, we introduce an approach that analyzes source code changes from software projects that already underwent a given library migration to extract mappings between functions. We demonstrate the applicability of our approach on several library migrations performed on the Java open source software projects.
26
A Mathematical Theory of Communication
Claude E. Shannon · Bell System Technical Journal · 1948 · 80.7K citations
AnO(ND) difference algorithm and its variations
Eugene W. Myers · Algorithmica · 1986 · 899 citations
Zhenchang Xing, Eleni Stroulia · 2005 · 369 citations
Identifying Refactorings from Source-Code Changes
Peter Weißgerber, Stephan Diehl · 2006 · 194 citations