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 条
  • [41] Java']Java based distributed measurement systems
    Grimaldi, D
    Nigro, L
    Pupo, F
    IMTC/97 - IEEE INSTRUMENTATION & MEASUREMENT TECHNOLOGY CONFERENCE: SENSING, PROCESSING, NETWORKING, PROCEEDINGS VOLS 1 AND 2, 1997, : 686 - 689
  • [42] An IP core for embedded Java']Java systems
    Uhrig, Sascha
    Mische, Joerg
    Ungerer, Theo
    EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION - PROCEEDINGS, 2007, 4599 : 263 - +
  • [43] Deterministic Java']Java in tiny embedded systems
    Nilsson, A
    Ekman, T
    FOURTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2001, : 60 - 68
  • [44] Translating AADL systems to Java']Java programs
    Benlahrache, Nadira
    Belala, Faiza
    Younes, Randa Ait
    Belala, Zoubida
    2016 INTERNATIONAL CONFERENCE ON ADVANCED ASPECTS OF SOFTWARE ENGINEERING (ICAASE), 2016,
  • [45] Java']Java in embedded-systems design
    Varhol, P
    COMPUTER DESIGN, 1997, 36 (03): : 63 - +
  • [46] Geothermal systems on the island of Java']Java, Indonesia
    Purnomo, Budi Joko
    Pichler, Thomas
    JOURNAL OF VOLCANOLOGY AND GEOTHERMAL RESEARCH, 2014, 285 : 47 - 59
  • [47] Java']Java perks up embedded systems
    Quinnell, RA
    EDN, 1997, 42 (16) : 38 - &
  • [48] Java']Java computing in distributed multiagent systems
    Lei, YQ
    Zhao, MZ
    Linn, JY
    PROCEEDINGS OF FOURTH INTERNATIONAL WORKSHOP ON CSCW IN DESIGN, 1999, : 273 - 276
  • [49] Techniques for the design of Java']Java operating systems
    Back, G
    Tullmann, P
    Stoller, L
    Hsieh, WC
    Lepreau, J
    USENIX ASSOCIATION PROCEEDINGS OF THE 2000 USENIX ANNUAL TECHNICAL CONFERENCE, 2000, : 197 - 210
  • [50] A communication infrastructure for Java']Java agent systems
    Chang, DT
    Sundaresan, N
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-III, PROCEEDINGS, 1997, : 245 - 255