paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Depends-Kotlin: A Cross-Language Kotlin Dependency Extractor

Depends-Kotlin:一种跨语言 Kotlin 依赖提取器
ASE Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering2024匹配度 2/10 · 该论文是 Kotlin/Java 跨语言依赖提取的静态分析工具,属于程序分析基础设施,但未涉及用户核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析。引用 2 inbox
Qiong Feng, Xiaotian Ma, Huan Ji, Wei Song, Peng Liang
crossref: 2026-09-12

AI 速览

一句话:开发 Depends-Kotlin,支持 Kotlin 内部及 Kotlin-Java 跨语言依赖提取,并验证其精度与性能。

Kotlin 已成为 Android 官方开发语言并广泛使用,但相较 Java,其代码依赖分析支持仍有限,而依赖分析是软件分析的基础。为此,作者提出 Depends-Kotlin,用于从 Kotlin 源代码中抽取实体及其依赖关系,并进一步支持 Kotlin 与 Java 之间的跨语言依赖提取。该方法面向 Kotlin-Java 混合项目,自动解析源码中的实体和依赖。作者以三个开源 Kotlin-Java 混合项目为实验对象,评估其解析 Kotlin-Kotlin 与 Kotlin-Java 依赖关系的准确率和性能,结果显示其具有较高准确率和性能。工具源码与数据集已开源,并提供演示视频。

问题
Kotlin 在 Android 开发中广泛使用,但相比 Java,其代码依赖分析支持不足,而依赖分析是软件分析的基础。
方法
实现 Depends-Kotlin 工具,抽取 Kotlin 源码中的实体及依赖,并支持 Kotlin 与 Java 之间的跨语言依赖关系解析。
评估
在三个开源 Kotlin-Java 混合项目上评估 Kotlin-Kotlin 和 Kotlin-Java 依赖解析的准确率与性能,并公开工具源码和数据集。
原文摘要(Abstract)

Since Google introduced Kotlin as an official programming language for developing Android apps in 2017, Kotlin has gained widespread adoption in Android development. However, compared to Java, there is limited support for Kotlin code dependency analysis, which is the foundation to software analysis. To bridge this gap, we develop Depends-Kotlin to extract entities and their dependencies in Kotlin source code. Not only does Depends-Kotlin support extracting entities' dependencies in Kotlin code, but it can also extract dependency relations between Kotlin and Java. Using three open-source Kotlin-Java mixing projects as our subjects, Depends-Kotlin demonstrates high accuracy and performance in resolving Kotlin-Kotlin and Kotlin-Java dependencies relations. The source code of Depends-Kotlin and the dataset used have been made available at https://github.com/XYZboom/depends-kotlin. We also provide a screen-cast presenting Depends-Kotlin at https://youtu.be/ZPq8SRhgXzM.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8409,
  title = {Depends-Kotlin: A Cross-Language Kotlin Dependency Extractor},
  author = {Qiong Feng and Xiaotian Ma and Huan Ji and Wei Song and Peng Liang},
  booktitle = {ASE},
  year = {2024},
  doi = {10.1145/3691620.3695354}
}