DocumentCode
588599
Title
Measuring software library stability through historical version analysis
Author
Raemaekers, Steven ; Van Deursen, Arie ; Visser, Joost
Author_Institution
Software Improvement Group, Amsterdam, Netherlands
fYear
2012
fDate
23-28 Sept. 2012
Firstpage
378
Lastpage
387
Abstract
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.
Keywords
Java; application program interfaces; software libraries; software metrics; software reusability; API usage; Maven build files; backward compatibility; commercial company; historical version analysis; industrial Java systems; interface stability; library code; library method usage frequency; software library stability measurement; software metrics; software reusability; system code; third-party libraries; Conferences; Java; Libraries; Measurement; Security; Software; Stability analysis; API Stability; API Usage; Software Reuse; Third-party Libraries;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance (ICSM), 2012 28th IEEE International Conference on
Conference_Location
Trento
ISSN
1063-6773
Print_ISBN
978-1-4673-2313-0
Type
conf
DOI
10.1109/ICSM.2012.6405296
Filename
6405296
Link To Document