The evolution of Java']Java build systems

被引:37
|
作者
McIntosh, Shane [1 ]
Adams, Bram [1 ]
Hassan, Ahmed E. [1 ]
机构
[1] Queens Univ, SAIL, Kingston, ON, Canada
关键词
Build systems; Software evolution; ANT; Maven; Software complexity; SOFTWARE; PROGRAM; CODE;
D O I
10.1007/s10664-011-9169-5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Build systems are responsible for transforming static source code artifacts into executable software. While build systems play such a crucial role in software development and maintenance, they have been largely ignored by software evolution researchers. However, a firm understanding of build system aging processes is needed in order to allow project managers to allocate personnel and resources to build system maintenance tasks effectively, and reduce the build maintenance overhead on regular development activities. In this paper, we study the evolution of build systems based on two popular Java build languages (i.e., ANT and Maven) from two perspectives: (1) a static perspective, where we examine the complexity of build system specifications using software metrics adopted from the source code domain; and (2) a dynamic perspective, where the complexity and coverage of representative build runs are measured. Case studies of the build systems of six open source build projects with a combined history of 172 releases show that build system and source code size are highly correlated, with source code restructurings often requiring build system restructurings. Furthermore, we find that Java build systems evolve dynamically in terms of duration and recursive depth of the directory hierarchy.
引用
收藏
页码:578 / 608
页数:31
相关论文
共 50 条
  • [21] The evolution of railway station architecture in Java']Java
    Sulistyani, Harmilyanti
    JOURNAL OF ASIAN ARCHITECTURE AND BUILDING ENGINEERING, 2023, 22 (05) : 2613 - 2621
  • [22] Dynamic distributed systems in Java']Java
    Rousselle, P
    DR DOBBS JOURNAL, 1998, 23 (04): : 88 - +
  • [23] Adapting Java']Java for embedded systems
    Varhol, P
    COMPUTER DESIGN, 1997, 36 (10): : 75 - +
  • [24] Modeling reactive systems in Java']Java
    Passerone, C
    Passerone, R
    Sansoe, C
    Martin, J
    Sangiovanni-Vincentelli, A
    McGeer, R
    HARDWARE/SOFTWARE CODESIGN - SIXTH INTERNATIONAL WORKSHOP PROCEEDINGS, 1998, : 15 - 19
  • [25] Java']Java, ActiveX and new systems
    Tinham, B
    CONTROL AND INSTRUMENTATION, 1997, 29 (01): : 5 - 5
  • [26] Large-Scale Dataset of Local Java']Java Software Build Results
    Sulir, Matus
    Bacikova, Michaela
    Madeja, Matej
    Chodarev, Sergej
    Juhar, Jan
    DATA, 2020, 5 (03) : 1 - 11
  • [27] Automatic build repair for test cases using incompatible Java']Java versions
    Mak, Ching Hang
    Cheung, Shing-Chi
    INFORMATION AND SOFTWARE TECHNOLOGY, 2024, 172
  • [28] Java']Java-through-C compilation: An enabling technology for Java']Java in embedded systems
    Varma, A
    Bhattacharyya, SS
    DESIGNERS' FORUM: DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, 2004, : 161 - 166
  • [29] A high performance buffering of Java']Java objects for Java']Java card systems with flash memory
    Jin, Min-Sik
    Jung, Min-Soo
    EMERGING DIRECTIONS IN EMBEDDED AND UBIQUITOUS COMPUTING, 2006, 4097 : 908 - 918
  • [30] AST Based JAVA']JAVA Software Evolution Analysis
    Jiang, Lu
    Zhang, Zhiyi
    Zhao, Zhihong
    2013 10TH WEB INFORMATION SYSTEM AND APPLICATION CONFERENCE (WISA 2013), 2013, : 180 - 183