DOI

In this paper, we present Lupa - a platform 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.

Original languageEnglish
Title of host publicationProceedings - 2022 Mining Software Repositories Conference, MSR 2022
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages398-402
Number of pages5
ISBN (Electronic)9781450393034
DOIs
StatePublished - 23 May 2022
Event2022 Mining Software Repositories Conference, MSR 2022 - Pittsburgh, United States
Duration: 23 May 202224 May 2022

Conference

Conference2022 Mining Software Repositories Conference, MSR 2022
Country/TerritoryUnited States
CityPittsburgh
Period23/05/2224/05/22

    Research areas

  • kotlin, Language analysis, mining software repositories, python, static analysis

    Scopus subject areas

  • Software
  • Information Systems and Management
  • Safety, Risk, Reliability and Quality

ID: 97485633