The human in model-driven engineering loop: A case study on integrating handwritten code in model-driven engineering repositories

Khandoker Rahad, Omar Badreddin, Sayed Mohsin Reza

Research output: Contribution to journalArticlepeer-review

7 Scopus citations

Abstract

In model-driven engineering (MDE) software projects, large portions of the executable code are automatically generated from designs and models. This generated code may or may not be edited by the developers to achieve their development objectives. MDE projects also include a significant amount of handwritten code (HC). This handwritten code is developed under unique constraints, as it must integrate with generated artifacts and code elements that are not directly developed by the engineers. These constraints adversely affect codebase quality and maintainability. This case study aims to investigate the hypothesis pertaining to the handwritten code quality developed in the context of MDE. The study analyzes these unique code fragments and compares their characteristics to handwritten code in repositories where code generation is not present. The study finds that handwritten code quality in the MDE context suffers from elevated technical debt and code smells. We observe key code smells that are particularly evident in this handwritten code. These findings imply that code generators must optimize for human comprehension, prioritize extensibility, and must facilitate integration with handwritten code elements.

Original languageEnglish (US)
Pages (from-to)1308-1321
Number of pages14
JournalSoftware - Practice and Experience
Volume51
Issue number6
DOIs
StatePublished - Jun 2021

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'The human in model-driven engineering loop: A case study on integrating handwritten code in model-driven engineering repositories'. Together they form a unique fingerprint.

Cite this