• 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