中文

跨语言依赖关系: 针对 Kotlin-Java 的实证研究

软件工程 2024-07-29 v2

摘要

背景: 自 2017 年 Google 将 Kotlin 引入 Android 开发官方语言后,Kotlin 在 Android 开发中获得了广泛采用。Java 与 Kotlin 的互操作性设计特性使它们能够在项目中顺利共存和相互作用。目标: 然而,对 Java 与 Kotlin 在实际项目中如何相互作用以及在这些相互作用中面临什么挑战的研究仍有限。这些问题的答案对于理解此类跨语言软件系统至关重要。方法: 本文我们实现了一个名为 DependEx-tractor 的工具,该工具能够提取 Kotlin-Java 中的 11 种依赖关系类型,并对 23 个 Kotlin-Java 实际项目进行实证研究,涉及 3227 个 Java 和 8630 个 Kotlin 源文件。结果: 我们发现 Java 与 Kotlin 在这些跨语言项目中频繁相互作用,其中访问和调用依赖类型占比最大。与与其他同语言文件相互作用的文件相比,参与跨语言交互的 Java/Kotlin 源文件会进行更多提交。此外,在所有 Kotlin-Java 有问题的交互中,我们识别出七种常见错误及其修复策略。结论: 本研究的发现有助于开发人员理解和应对 Kotlin-Java 项目中的挑战。

关键词

引用

@article{arxiv.2405.04602,
  title  = {Cross-Language Dependencies: An Empirical Study of Kotlin-Java},
  author = {Qiong Feng and Huan Ji and Xiaotian Ma and Peng Liang},
  journal= {arXiv preprint arXiv:2405.04602},
  year   = {2024}
}

备注

The 18th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)