MigrationMiner: An Automated Detection Tool of Third-Party Java Library Migration at the Method Level

In this paper we introduce, MigrationMiner, an automated tool that detects code migrations performed between Java third-party library. Given a list of open source projects, the tool detects potential library migration code changes and collects the specific code fragments in which the developer replaces methods from the retired library with methods from the new library. To support the migration process, MigrationMiner collects the library documentation that is associated with every method involved in the migration. We evaluate our tool on a benchmark of manually validated library migrations. Results show that MigrationMiner achieves an accuracy of 100%. A demo video of Migration-Miner is available at https://youtu.be/sAlR1HNetXc.

[1]  Hussein Alrubaye,et al.  Automating the detection of third-party Java library migration at the function level , 2018, CASCON.

[2]  Robert J. Walker,et al.  Seeking the ground truth: a retroactive study on the evolution and migration of software libraries , 2012, SIGSOFT FSE.

[3]  Xavier Blanc,et al.  Mining Library Migration Graphs , 2012, 2012 19th Working Conference on Reverse Engineering.

[4]  Xavier Blanc,et al.  Automatic discovery of function mappings between similar libraries , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[5]  Hussein Alrubaye,et al.  On the Use of Information Retrieval to Automate the Detection of Third-Party Java Library Migration at the Method Level , 2019, 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC).

[6]  Katsuro Inoue,et al.  Do developers update their library dependencies? , 2017, Empirical Software Engineering.

[7]  Xavier Blanc,et al.  A study of library migrations in Java , 2014, J. Softw. Evol. Process..