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

03/17/2022
by   Anna Vlasova, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/27/2018

Lolisa: Formal Syntax and Semantics for a Subset of the Solidity Programming Language

This article presents the formal syntax and semantics for a large subset...
research
04/03/2020

Interpreted Programming Language Extension for 3D Render on the Web

There are tools to ease the 2D/3D graphics development for programmers. ...
research
12/22/2020

Introducing CPL

CPL here stands for a computer programming language conceived and develo...
research
07/10/2023

COMEX: A Tool for Generating Customized Source Code Representations

Learning effective representations of source code is critical for any Ma...
research
12/04/2018

Towards new solutions for scientific computing: the case of Julia

This year marks the consolidation of Julia (https://julialang.org/), a p...
research
02/19/2018

CalcuList: a Functional Language Extended with Imperative Features

CalcuList (Calculator with List manipulation), is an educational languag...
research
03/25/2023

Saihu: A Common Interface of Worst-Case Delay Analysis Tools for Time-Sensitive Networks

Time-sensitive networks, as in the context of IEEE-TSN and IETF-Detnet, ...

Please sign up or login with your details

Forgot password? Click here to reset