API-Based Generators (ABGs) allow practitioners to achieve the advantages of Model-Driven Engineering (MDE) without making significant changes to their current workflow or the architecture of their solution. However, using ABGs that are defined in terms of the syntax rules of a target language can be cumbersome and impractical. Additionally, manually developing an ABG based on higher-level concepts already used in an existing solution is labor-intensive and time-consuming. This paper introduces a new approach called Semi-automatic API-based Generators Development (SAGED) to expedite the creation of ABGs customized for MDE development of existing solutions. SAGED accomplishes this by (i) providing insight into code idioms that could be considered good candidates for code generation, as they frequently appear in the codebase, and (ii) automating the creation of a code generation API for an ABG, defined in terms of the identified code idioms. The SAGED approach relies on mining code idioms from existing, unlabeled source code based on a machine learning technique called the nonparametric Bayesian Probabilistic Tree Substitution Grammar (PTSG). The main contributions of this paper include the introduction of the SAGED approach, an explanation and optimization of the Type-Based MCMC as a method for approximating the nonparametric Bayesian PTSG, and the development of an open-source inference core for implementing the inference method in different programming languages. Furthermore, the paper presents a solution for implementing SAGED in the C# programming language, along with case studies that demonstrate its effectiveness.

Thu 9 Oct

Displayed time zone: Eastern Time (US & Canada) change

11:00 - 12:30
Session 6: Models in Software Engineering PipelinesResearch Papers / Journal-First at DCIH 102
Chair(s): Ed Seidewitz Model Driven Solutions

Hybrid

11:00
18m
Talk
A Metamodel for Reengineering CI/CD PipelinesFT@In Person
Research Papers
Hugo da Gião University of Porto & HASLab/INESC TEC, Jácome Cunha Universidade do Porto, Rui Pereira HASLab/INESC TEC, André Flores Faculdade de Engenharia da Universidade do Porto, Vasco Amaral NOVA University Lisbon, Gregor Engels Paderborn University, Stefan Sauer Paderborn University | Software Innovation Campus Paderborn
11:18
18m
Talk
Deepening our Understanding on the use of Models and Code in Game Software Engineering: A Controlled Experiment in Unreal EngineArtifact Evaluated − FunctionalFTArtifacts Available@In Person
Research Papers
Jose Ignacio Trasobares SVIT Research Group, Universidad San Jorge, África Domingo SVIT Research Group, Universidad San Jorge, Jorge Echeverria SVIT Research Group, Universidad San Jorge, Lorena Arcega SVIT Research Group, Universidad San Jorge, Carlos Cetina
11:36
18m
Talk
Automating the Development of API-Based Generators Using Code Idioms MiningIn Person
Journal-First
DOI
11:54
18m
Talk
A Knowledge-based Approach for Guided Development of Infrastructure-as-CodeRemote
Journal-First
Zoe Vasileiou , Indika Kumara Tilburg University, Georgios Meditskos , Kamil Tokmakov , Dragan Radolovic , Jesus Gorronogoitia-Cruz , Elisabeta di Nitto Politecnico di Milano, Damian Andrew Tamburri University of Sannio - JADS/NXP Semiconductors, Willem-Jan van den Heuvel JADS/Tilburg University, Stefanos Vrochidis Centre for Research and Technology Hellas (CERTH-ITI)
DOI
12:12
18m
Talk
Hand-Written Code Preservation in Model-to-Text Transformation using Intrinsic Redundancy@RemoteFT
Research Papers
Ionut Predoaia University of York, Sultan Almutairi Shaqra University, Athanasios Zolotas Rolls-Royce, Antonio Garcia-Dominguez Department of Computer Science, University of York, Dimitris Kolovos University of York