Multilanguage Detection of Design Pattern Instances

ABSTRACT Code comprehension is often supported by source code analysis tools that provide more abstract views over software systems, such as those detecting design patterns. These tools encompass analysis of source code and ensuing extraction of relevant information. However, the analysis of the source code is often specific to the target programming language. We propose DP‐LARA, a multilanguage pattern detection tool that uses the multilanguage capability of the LARA framework to support finding pattern instances in a code base. LARA provides a virtual AST, which is common to multiple OOP programming languages, and DP‐LARA then performs code analysis of detecting pattern instances on this abstract representation. We evaluate the detection performance and consistency of DP‐LARA with a few software projects. Results show that a multilanguage approach does not compromise detection performance, and DP‐LARA is consistent across the languages we tested it for (i.e., Java and C/C++). Moreover, by providing a virtual AST as the abstract representation, we believe to have decreased the effort of extending the tool to new programming languages and maintaining existing ones.

Authors

Institutions

Publication Details

Journal
Journal of Software Evolution and Process
Published
2025-02-01
DOI
https://doi.org/10.1002/smr.2738
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Multilanguage Detection of Design Pattern Instances

João Bispo, Filipe Figueiredo Correia, Hugo Andrade
Journal of Software Evolution and Process
Software Engineering Research
article

Multilanguage Detection of Design Pattern Instances

João Bispo, Filipe Figueiredo Correia, Hugo Andrade
article en

Abstract

ABSTRACT Code comprehension is often supported by source code analysis tools that provide more abstract views over software systems, such as those detecting design patterns. These tools encompass analysis of source code and ensuing extraction of relevant information. However, the analysis of the source code is often specific to the target programming language. We propose DP‐LARA, a multilanguage pattern detection tool that uses the multilanguage capability of the LARA framework to support finding pattern instances in a code base. LARA provides a virtual AST, which is common to multiple OOP programming languages, and DP‐LARA then performs code analysis of detecting pattern instances on this abstract representation. We evaluate the detection performance and consistency of DP‐LARA with a few software projects. Results show that a multilanguage approach does not compromise detection performance, and DP‐LARA is consistent across the languages we tested it for (i.e., Java and C/C++). Moreover, by providing a virtual AST as the abstract representation, we believe to have decreased the effort of extending the tool to new programming languages and maintaining existing ones.

Journal of Software Evolution and ProcessVol. 37(2)
Universidade do Porto (PT), INESC TEC (PT)
Openalex Percentile: Top 97%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Multilanguage Detection of Design Pattern Instances — João Bispo, Filipe Figueiredo Correia, et al. · Journal of Software Evolution and Process (2025) | TGRS Research Map | TGRS