Multi-Language Detection of Design Pattern Instances
Multi-Language Detection of Design Pattern Instances
Code comprehension is often supported by source code analysis tools which 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 multi-language pattern detection tool that uses the multi-language 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 multi-language 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.
Hugo Andrade、Jo?o Bispo、Filipe F. Correia
计算技术、计算机技术
Hugo Andrade,Jo?o Bispo,Filipe F. Correia.Multi-Language Detection of Design Pattern Instances[EB/OL].(2025-06-04)[2025-06-24].https://arxiv.org/abs/2506.03903.点此复制
评论