论文标题
LUPA:编程语言使用大规模分析的框架
Lupa: A Framework for Large Scale Analysis of the Programming Language Usage
论文作者
论文摘要
在本文中,我们提出了卢帕 - 用于对编程语言使用的大规模分析的框架。 LUPA是一种命令行工具,它使用引擎盖下的Intellij平台的功能,这使其可以访问现代IDE中使用的功能强大的静态分析工具。该工具支持对代码的丰富混凝土语法树进行处理的自定义分析仪,并可以计算其各种特征:实体的存在,其依赖关系,定义 - 使用链等。当前,LUPA支持分析Python和Kotlin,但可以扩展到基于Intellijij IDES支持的其他语言。我们解释了该工具的内部,展示如何扩展和定制它,并描述我们在其帮助下进行的示例分析:分析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.