ReCo: A Modular Neural Framework for Automatically Recommending Connections in Software Models
Haoyu Liu,Yunwei Dong,Qiao Ke,Zhiyang Zhou
DOI: https://doi.org/10.1109/saner60148.2024.00070
2024-01-01
Abstract:Researchers have been developing AI-based mod-eling assistants to help software modelers efficiently construct models. However, there are a number of issues with the current modeling assistants, including poor recommendation accuracy, limited support for diverse model types, and scalability issues. These problems stem from their attempt to utilize a single learning module to comprehensively extract multi-modal features from software models, such as semantic meanings of terms and model structures. Our key insight is that the utilization of modular deep learning architecture, allowing these features to be learned separately, by specifically tailored neural modules, and then be fused into one single vector. The fused vectors produced by these two learning stages significantly enhance recommendation accuracy. To adapt model formats for modular learning's input, we introduce a novel model representation, labeled graph, which offers two advantages: 1) able to segregate diverse features types, enabling modular learning; 2) adaptable to various types of software models. Building on these insights, we developed ReCo, a learning-based recommendation system for suggesting connections in models. ReCo employs several neural modules for extracting both the semantics of elements and topology of models, then computing the scores of potential connections. Our experimental result shows that for model types that are already supported, ReCo achieves more than 2X improvement in success rate and FRanks, compared to the state-of-the-art modeling assistants. Furthermore, ReCo also extends its support to previously unsupported models like UML usecase and activity models.