A study of library migrations in Java']Java

被引:41
|
作者
Teyton, Cedric [1 ]
Falleri, Jean-Remy [1 ]
Palyart, Marc [1 ]
Blanc, Xavier [1 ]
机构
[1] Bordeaux Univ, LaBRI, UMR 5800, F-33400 Talence, France
关键词
software evolution; software repositories; API analysis;
D O I
10.1002/smr.1660
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 replacing them for more relevant ones. We refer to this practice as library migration. To find the best replacement for their library, they can rely on information over the Web, but they get quickly overwhelmed by the amount of data they gather. Making the right choice in this context constitutes the topic of our work. The solution we propose is to exhibit and mine the library migrations trends computed by performing a study of a large set of software projects. To perform this analysis, we have defined an automatic approach to compute library dependencies and a semi-automatic approach that identifies library migrations. Then, we propose a deep analysis of the library migration phenomena by performing a descriptive study of a large set of software projects stored on the Githubplatform. Second, based on our descriptive study, we propose a support to developers who want to migrate their libraries. The main result of our study is that recommendations of libraries can be inferred from the analysis of the migration trends. Copyright (c) 2014 John Wiley & Sons, Ltd.
引用
收藏
页码:1030 / 1052
页数:23
相关论文
共 41 条
  • [21] Trends on Empty Exception Handlers for Java']Java Open Source Libraries
    Nogueira, Ana Filipa
    Ribeiro, Jose C. B.
    Zenha-Rela, Mario A.
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, : 412 - 416
  • [22] Enhancing Java']Java with support for simultaneous independent extensibility of collaborating objects
    Jorgensen, BN
    PROCEEDINGS OF THE IASTED INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2004, : 613 - 619
  • [23] Research on the Use of Java']Java Annotation Metadata Mechanism in Basic Program
    Yuan, Hui
    Zhao, Lei
    PROCEEDINGS OF THE 7TH INTERNATIONAL CONFERENCE ON EDUCATION, MANAGEMENT, INFORMATION AND MECHANICAL ENGINEERING (EMIM 2017), 2017, 76 : 1148 - 1151
  • [24] CHARACTERISTICS OF CLASS COLLABORATION NETWORKS IN LARGE JAVA']JAVA SOFTWARE PROJECTS
    Savic, Milos
    Ivanovic, Mirjana
    Radovanovic, Milos
    INFORMATION TECHNOLOGY AND CONTROL, 2011, 40 (01): : 48 - 58
  • [25] Why Did Developers Migrate Android Applications From Java']Java to Kotlin?
    Martinez, Matias
    Mateus, Bruno Gois
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (11) : 4521 - 4534
  • [26] Validation of Lehman Laws of Growth and Familiarity for Open Source Java']Java Databases
    Kaur, Arvinder
    Vig, Vidhi
    COMPUTER COMMUNICATION, NETWORKING AND INTERNET SECURITY, 2017, 5 : 429 - 436
  • [27] Suboptimal Comments in Java']Java Projects: From Independent Comment Changes to Commenting Practices
    Wang, Chao
    He, Hao
    Pal, Uma
    Marinov, Darko
    Zhou, Minghui
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (02)
  • [28] Characteristics of method extractions in Java: a large scale empirical study
    Andre Hora
    Romain Robbes
    Empirical Software Engineering, 2020, 25 : 1798 - 1833
  • [29] The evolution of Java build systems
    Shane McIntosh
    Bram Adams
    Ahmed E. Hassan
    Empirical Software Engineering, 2012, 17 : 578 - 608
  • [30] Dynamic update of Java']Java applications-balancing change flexibility vs programming transparency
    Gregersen, Allan Raundahl
    Jorgensen, Bo Norregaard
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2009, 21 (02): : 81 - 112