Depending on the amount of data to process, file generation may take longer.

If it takes too long to generate, you can limit the data by, for example, reducing the range of years.

Chapter

Download BibTeX

Title

Comparing Programming Language Models for Design Pattern Recognition

Authors

[ 1 ] Instytut Informatyki, Wydział Informatyki i Telekomunikacji, Politechnika Poznańska | [ P ] employee

Scientific discipline (Law 2.0)

[2.3] Information and communication technology

Year of publication

2024

Chapter type

chapter in monograph / paper

Publication language

english

Abstract

EN Design patterns (DPs) facilitate effective software architecture and design and must be maintained and enforced in existing complex software products, for example, automotive software. Implementing DPs in source code facilitates the development of high-quality software products with less effort. However, recognizing DPs in program code is challenging, and this makes it difficult to keep architectural evolution under control in large software products over time. As DPs are abstract solutions, the programs used to recognize them in source code have significant limitations. In this paper, we employ four programming language models based on Bidirectional Encoder Representations from Transformers (BERT) to study to which extent these models can recognize an exemplar DP, in this case, Singleton. We compare four language representation models - OpenAI CodeX, Facebook AI TransCoder, ACoRA/BERT, and CCFlex/bag-of-words, and compare the models' rankings to a simple base metric. We found a discrepancy between models in identifying Singletons and found that the models are inconsistently sensitive to name and semantic changes. Specifically, CodeX recognizes the existence of Singletons better than other models, while only ACoRA shows some signs of recognizing DP semantics.

Date of online publication

21.08.2024

Pages (from - to)

183 - 190

DOI

10.1109/ICSA-C63560.2024.00041

URL

https://ieeexplore.ieee.org/document/10628366

Book

IEEE 21st International Conference on Software Architecture Companion ICSA-C 2024, 4 – 8 June 2024, Hyderabad, India

Presented on

IEEE 21st International Conference on Software Architecture Companion ICSA-C 2024, 4-8.06.2024, Hyderabad, India

Ministry points / chapter

20

Ministry points / conference (CORE)

140

This website uses cookies to remember the authenticated session of the user. For more information, read about Cookies and Privacy Policy.