Measuring Library Stability Through Historical Version Analysis

SBA Raemaekers, A van Deursen, J. Visser

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

96 Citations (Scopus)
67 Downloads (Pure)


Backward compatibility is a major concern for any library developer. In this paper, we evaluate how stable a set of frequently used third-party libraries is in terms of method removals, implementation change, the ratio of change in old methods to change in new ones and the percentage of new methods in each snapshot. We provide a motivating example of a commercial company which demonstrates several issues associated with the usage of third-party libraries. To obtain dependencies from software systems we developed a framework which extracts dependencies from Maven build files and which analyzes system and library code. We propose four metrics which provide different insights in the implementation and interface stability of a library. The usage frequency of library methods is utilized as a weight in the final metric and is obtained from a dataset of more than 2300 snapshots of 140 industrial Java systems. We finally describe three scenarios and an example of the application of our metrics.
Original languageEnglish
Title of host publicationProceedings of the International Conference on Software Maintenance (ICSM)
Editors sn
Place of PublicationNew York / Los Alamitos
ISBN (Print)978-1-4673-1067-3
Publication statusPublished - 2012


  • Conf.proc. > 3 pag


Dive into the research topics of 'Measuring Library Stability Through Historical Version Analysis'. Together they form a unique fingerprint.

Cite this