Identifying Concurrent Behaviours in Erlang Legacy Systems

Keywords: Erlang, design patterns, client-server behaviour, concurrent behaviours, static analysis

Abstract

In Erlang, behaviours are special forms of design patterns. There are many benefits to using behaviours. For example, behaviours can help abstract away the most common parts when solving similar problems. Design pattern recognition may help understand the source code of the software. It can provide structured information about the purpose of specific parts and the design decisions behind the implementation. For object-oriented languages, several tools exist that use different approaches and methods to identify design patterns. We present a method for identifying source code fragments in legacy Erlang systems amenable to transforming into client-server Erlang design patterns. In our analysis, we identify the base set of server candidates using concurrent process analysis and narrow down the result using further static analysis knowledge using the RefactorErl framework.

Downloads

Download data is not yet available.
Published
2024-03-20
How to Cite
Erdei, Z., Tóth, M., & Bozó, I. (2024). Identifying Concurrent Behaviours in Erlang Legacy Systems. Acta Cybernetica, 26(3), 405-429. https://doi.org/10.14232/actacyb.299529
Section
Special Issue of the 13th Conference of PhD Students in Computer Science