arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2203.09658cs.PLcs.SE
收藏

Lupa:一个大规模程序设计语言使用分析框架

Lupa: A Framework for Large Scale Analysis of the Programming Language Usage

Anna Vlasova, Maria Tigina, Ilya Vlasov, Anastasiia Birillo, Yaroslav Golubev, Timofey Bryksin

摘要:

在本文中,我们提出了Lupa -一个大规模分析的程序设计语言的使用框架。Lupa是一个命令行工具,它使用了IntelliJ平台的强大功能,这使它能够访问现代IDE中使用的强大静态分析工具。该工具支持自定义分析器,可以处理代码的丰富具体语法树,并可以计算其各种功能:实体的存在,它们的依赖关系,定义使用链等。我们解释了该工具的内部原理,展示了如何扩展和自定义它,并描述了我们在它的帮助下进行的示例分析:分析Kotlin中范围的语法。

英文摘要:

In this paper, we present Lupa - a framework for large-scale analysis of the programming language usage. Lupa is a command line tool that uses the power of the IntelliJ Platform under the hood, which gives it access to powerful static analysis tools used in modern IDEs. The tool supports custom analyzers that process the rich concrete syntax tree of the code and can calculate its various features: the presence of entities, their dependencies, definition-usage chains, etc. Currently, Lupa supports analyzing Python and Kotlin, but can be extended to other languages supported by IntelliJ-based IDEs. We explain the internals of the tool, show how it can be extended and customized, and describe an example analysis that we carried out with its help: analyzing the syntax of ranges in Kotlin.

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

↑