arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2408.11544cs.SEcs.PL
收藏

跨 Java 版本的本地软件可构建性(注册报告)

Local Software Buildability across Java Versions (Registered Report)

Matúš Sulír, Jaroslav Porubän, Sergej Chodarev

AI总结:

本研究通过抽样 2,500 个 GitHub 纯 Java 项目,在 Java 6 至 23 版本下自动构建,实证验证构建失败比例随 Java 版本升高而增长,并探究相关因素。

摘要:

背景:下载开源 Java 项目的源代码,并使用 Maven、Gradle 或 Ant 在本地计算机上构建它们,是研究人员和从业者常见的行为。迄今为止的多项研究发现,此类尝试中约有 40-60% 会失败。我们过去几年的经验表明,失败构建的比例还在持续上升。目标:首先,我们希望实证确认我们的假设,即随着 Java 版本的升高,构建失败项目的比例趋于增长。接下来,提出了九个补充研究问题,主要涉及失败项目的比例、通用版本兼容性、特定 JDK 版本下的失败、构建工具的成功率、包装器以及失败原因。方法:我们将从 GitHub 中随机抽取 2,500 个纯 Java 项目,这些项目需具有构建配置文件并满足基本质量标准。我们将尝试在装有 Java 6 至 23 版本的容器中自动构建每个项目。成功或失败将通过退出代码确定,并保存标准输出和错误流。大部分分析将使用可复现的脚本自动执行。

英文摘要:

Context: Downloading the source code of open-source Java projects and building them on a local computer using Maven, Gradle, or Ant is a common activity performed by researchers and practitioners. Multiple studies so far found that about 40-60% of such attempts fail. Our experience from the last years suggests that the proportion of failed builds rises continually even further. Objective: First, we would like to empirically confirm our hypothesis that with increasing Java versions, the percentage of build-failing projects tends to grow. Next, nine supplementary research questions are proposed, related mainly to the proportions of failing projects, universal version compatibility, failures under specific JDK versions, success rates of build tools, wrappers, and failure reasons. Method: We will sample 2,500 random pure-Java projects having a build configuration file and fulfilling basic quality criteria from GitHub. We will try to automatically build every project in containers with Java versions 6 to 23 installed. Success or failure will be determined by exit codes, and standard output and error streams will be saved. A majority of the analysis will be performed automatically using reproducible scripts.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑