  Software intensively depends on external libraries whose relevance may change
during its life cycle. As a consequence, software developers must periodically
reconsider the libraries they depend on, and must think about \textit{library
migration}. To our knowledge, no existing study has been done to understand
library migration although it is known to be an expensive maintenance task. Are
library migrations frequent? For which software are they performed and when?
For which libraries? For what reasons? The purpose of this paper is to answer
these questions with the intent to help software developers that have to
replace their libraries. To that extent, we have performed a statistical
analysis of a large set of open source software to mine their library
migration. To perform this analysis we have defined an approach that identifies
library migrations in a pseudo-automatic fashion by analyzing the source code
of the software. We have implemented this approach for the Java programming
language and applied it on Java Open Source Software stored in large hosting
services. The main result of our study is that library migration is not a
frequent practice but depends a lot on the nature of the software as well as
the nature of the libraries.
