<p>Continuous Integration (CI) is a widely used software development practice to reduce risks and accelerate development cycles. CI configuration is complex, and CI builds often break, requiring significant effort to configure CI pipelines and troubleshoot broken builds. Despite compilation being an indispensable step in CI builds, little is known about the usage of compilation configurations, and the common types, fix efforts, and fix patterns of compiler errors and warnings in CI for open-source projects. To fill this gap, we present a large-scale empirical study on 6,854,271 CI builds from 3,799 open-source Java projects hosted on GitHub. Using the data, we collected available compilation configurations, and investigated their intentions and usages. We then analyzed the frequency of compiler errors and warnings, investigated the ten most common error types and warning types, and reported their fix time. We manually analyzed 1,822 builds to summarize the fix patterns of the ten most common compiler error types and warning types. Our findings help to characterize and understand compilation configurations, compiler errors, and warnings in CI, and provide practical implications for developers, tool builders, and researchers.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

A large-scale empirical study of configurations, errors, and warnings for compilation in continuous integration

  • Chen Zhang,
  • Bihuan Chen,
  • Siqi Wu,
  • Lei Zhao,
  • Xin Peng,
  • Wenyun Zhao

摘要

Continuous Integration (CI) is a widely used software development practice to reduce risks and accelerate development cycles. CI configuration is complex, and CI builds often break, requiring significant effort to configure CI pipelines and troubleshoot broken builds. Despite compilation being an indispensable step in CI builds, little is known about the usage of compilation configurations, and the common types, fix efforts, and fix patterns of compiler errors and warnings in CI for open-source projects. To fill this gap, we present a large-scale empirical study on 6,854,271 CI builds from 3,799 open-source Java projects hosted on GitHub. Using the data, we collected available compilation configurations, and investigated their intentions and usages. We then analyzed the frequency of compiler errors and warnings, investigated the ten most common error types and warning types, and reported their fix time. We manually analyzed 1,822 builds to summarize the fix patterns of the ten most common compiler error types and warning types. Our findings help to characterize and understand compilation configurations, compiler errors, and warnings in CI, and provide practical implications for developers, tool builders, and researchers.