中文

Depends-Kotlin:一种跨语言 Kotlin 依赖关系提取器

软件工程 2024-08-22 v3

摘要

自 2017 年 Google 将 Kotlin 引入为开发 Android 应用的官方编程语言以来,Kotlin 在 Android 开发中获得了广泛采用。然而,与 Java 相比,对 Kotlin 代码依赖关系分析的支持有限,而这是软件分析的基础。为了弥补这一差距,我们开发了 Depends-Kotlin 来提取 Kotlin 源代码中的实体及其依赖关系。Depends-Kotlin 不仅支持提取 Kotlin 代码中实体的依赖关系,还可以提取 Kotlin 与 Java 之间的依赖关系。使用三个开源的 Kotlin-Java 混合项目作为我们的实验对象,Depends-Kotlin 在解析 Kotlin-Kotlin 和 Kotlin-Java 依赖关系方面展示了高准确性和性能。Depends-Kotlin 的源代码和使用的数据集已在 https://github.com/XYZboom/depends-kotlin 上提供。我们还提供了一个展示 Depends-Kotlin 的屏幕录像,网址为 https://youtu.be/ZPq8SRhgXzM。

关键词

引用

@article{arxiv.2401.16865,
  title  = {Depends-Kotlin: A Cross-Language Kotlin Dependency Extractor},
  author = {Qiong Feng and Xiaotian Ma and Huan Ji and Wei Song and Peng Liang},
  journal= {arXiv preprint arXiv:2401.16865},
  year   = {2024}
}

备注

The 39th IEEE/ACM International Conference on Automated Software Engineering (ASE), Tool Demonstrations Track