Standard

Lupa : A Framework for Large Scale Analysis of the Programming Language Usage. / Vlasova, Anna; Tigina, Maria; Vlasov, Ilya; Birillo, Anastasiia; Golubev, Yaroslav; Bryksin, Timofey.

Proceedings - 2022 Mining Software Repositories Conference, MSR 2022. Institute of Electrical and Electronics Engineers Inc., 2022. p. 398-402.

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Harvard

Vlasova, A, Tigina, M, Vlasov, I, Birillo, A, Golubev, Y & Bryksin, T 2022, Lupa: A Framework for Large Scale Analysis of the Programming Language Usage. in Proceedings - 2022 Mining Software Repositories Conference, MSR 2022. Institute of Electrical and Electronics Engineers Inc., pp. 398-402, 2022 Mining Software Repositories Conference, MSR 2022, Pittsburgh, United States, 23/05/22. https://doi.org/10.1145/3524842.3528477

APA

Vlasova, A., Tigina, M., Vlasov, I., Birillo, A., Golubev, Y., & Bryksin, T. (2022). Lupa: A Framework for Large Scale Analysis of the Programming Language Usage. In Proceedings - 2022 Mining Software Repositories Conference, MSR 2022 (pp. 398-402). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1145/3524842.3528477

Vancouver

Vlasova A, Tigina M, Vlasov I, Birillo A, Golubev Y, Bryksin T. Lupa: A Framework for Large Scale Analysis of the Programming Language Usage. In Proceedings - 2022 Mining Software Repositories Conference, MSR 2022. Institute of Electrical and Electronics Engineers Inc. 2022. p. 398-402 https://doi.org/10.1145/3524842.3528477

Author

Vlasova, Anna ; Tigina, Maria ; Vlasov, Ilya ; Birillo, Anastasiia ; Golubev, Yaroslav ; Bryksin, Timofey. / Lupa : A Framework for Large Scale Analysis of the Programming Language Usage. Proceedings - 2022 Mining Software Repositories Conference, MSR 2022. Institute of Electrical and Electronics Engineers Inc., 2022. pp. 398-402

BibTeX

@inproceedings{7117800d992d42bb87b55cf9ee26b3be,
title = "Lupa: A Framework for Large Scale Analysis of the Programming Language Usage",
abstract = "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.",
keywords = "kotlin, Language analysis, mining software repositories, python, static analysis",
author = "Anna Vlasova and Maria Tigina and Ilya Vlasov and Anastasiia Birillo and Yaroslav Golubev and Timofey Bryksin",
note = "Publisher Copyright: {\textcopyright} 2022 ACM.; 2022 Mining Software Repositories Conference, MSR 2022 ; Conference date: 23-05-2022 Through 24-05-2022",
year = "2022",
month = may,
day = "23",
doi = "10.1145/3524842.3528477",
language = "English",
pages = "398--402",
booktitle = "Proceedings - 2022 Mining Software Repositories Conference, MSR 2022",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
address = "United States",

}

RIS

TY - GEN

T1 - Lupa

T2 - 2022 Mining Software Repositories Conference, MSR 2022

AU - Vlasova, Anna

AU - Tigina, Maria

AU - Vlasov, Ilya

AU - Birillo, Anastasiia

AU - Golubev, Yaroslav

AU - Bryksin, Timofey

N1 - Publisher Copyright: © 2022 ACM.

PY - 2022/5/23

Y1 - 2022/5/23

N2 - 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.

AB - 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.

KW - kotlin

KW - Language analysis

KW - mining software repositories

KW - python

KW - static analysis

UR - http://www.scopus.com/inward/record.url?scp=85134062663&partnerID=8YFLogxK

UR - https://www.mendeley.com/catalogue/f1224f50-3cf9-361e-b108-d52b78c7b89e/

U2 - 10.1145/3524842.3528477

DO - 10.1145/3524842.3528477

M3 - Conference contribution

AN - SCOPUS:85134062663

SP - 398

EP - 402

BT - Proceedings - 2022 Mining Software Repositories Conference, MSR 2022

PB - Institute of Electrical and Electronics Engineers Inc.

Y2 - 23 May 2022 through 24 May 2022

ER -

ID: 97485633