当前位置: X-MOL 学术Softw. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
The human in model‐driven engineering loop: A case study on integrating handwritten code in model‐driven engineering repositories
Software: Practice and Experience ( IF 3.5 ) Pub Date : 2021-02-18 , DOI: 10.1002/spe.2957
Khandoker Rahad 1 , Omar Badreddin 1 , Sayed Mohsin Reza 1
Affiliation  

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.

中文翻译:

模型驱动的工程循环中的人:在模型驱动的工程存储库中集成手写代码的案例研究

在模型驱动工程(MDE)软件项目中,很大一部分可执行代码是从设计和模型中自动生成的。开发人员可能会或可能不会编辑此生成的代码,以实现其开发目标。MDE项目还包括大量的手写代码(HC)。该手写代码是在独特的约束下开发的,因为它必须与工程师未直接开发的生成的工件和代码元素集成在一起。这些限制会对代码库的质量和可维护性产生不利影响。本案例研究旨在研究与在MDE上下文中开发的手写代码质量有关的假设。这项研究分析了这些独特的代码片段,并将它们的特征与没有代码生成的存储库中的手写代码进行了比较。该研究发现,在MDE上下文中,手写代码质量受到技术债务和代码气味增加的困扰。我们观察到在此手写代码中特别明显的关键代码气味。这些发现表明,代码生成器必须针对人类理解进行优化,优先考虑可扩展性,并且必须促进与手写代码元素的集成。
更新日期:2021-02-18
down
wechat
bug