A Blockchain Approach to Extract Design Patterns From Source Codes - Shahla Rezaei; Mansour Esmaeilpour; Abdolreza Hatamlou; Sepideh Adabi (Modelling and Simulation in Engineering)
Design patterns are an effective technique for software development. However, lacking suitable documents often reduces traceability, and advantages remain unclear in source lines of code (SLOC). Design patterns are proven, reliable solutions to several frequent problems in object-oriented software design. Detecting design patterns in a software system contributes to maintainability and reengineering and facilitates understanding codes. Furthermore, different design pattern implementations impede the detection of code pattern instances. A design pattern is a set of roles played by the code classes. Roles are the main details and determinants in patterns. A pattern can be detected in its defined role as it is an instance of a role. It is also of great importance in system documentation. The proposed method exploits blockchain-based approaches for pattern mining and isolating design patterns in order to identify intercode relationships. The results demonstrate that the blockchain is effective and efficient in extracting the connections of features from source codes and adapting to design patterns with precision 97.2%.