• DocumentCode
    251951
  • Title

    Broken promises: An empirical study into evolution problems in Java programs caused by library upgrades

  • Author

    Dietrich, Jens ; Jezek, Kamil ; Brada, P.

  • Author_Institution
    Sch. of Eng. & Adv. Technol., Massey Univ., Palmerston North, New Zealand
  • fYear
    2014
  • fDate
    3-6 Feb. 2014
  • Firstpage
    64
  • Lastpage
    73
  • Abstract
    It has become common practice to build programs by using libraries. While the benefits of reuse are well known, an often overlooked risk are system runtime failures due to API changes in libraries that evolve independently. Traditionally, the consistency between a program and the libraries it uses is checked at build time when the entire system is compiled and tested. However, the trend towards partially upgrading systems by redeploying only evolved library versions results in situations where these crucial verification steps are skipped. For Java programs, partial upgrades create additional interesting problems as the compiler and the virtual machine use different rule sets to enforce contracts between the providers and the consumers of APIs. We have studied the extent of the problem on the qualitas corpus, a data set consisting of Java open-source programs widely used in empirical studies. In this paper, we describe the study and report its key findings. We found that the above mentioned issues do occur in practice, albeit not on a wide scale.
  • Keywords
    Java; object-oriented programming; program compilers; virtual machines; API changes; Java open-source programs; application program interface; compiler; library upgrades; library versions; partially upgrading systems; qualitas corpus; reuse approach; system runtime failures; virtual machine; Contracts; Couplings; Educational institutions; Java; Joining processes; Libraries; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on
  • Conference_Location
    Antwerp
  • Type

    conf

  • DOI
    10.1109/CSMR-WCRE.2014.6747226
  • Filename
    6747226