6、代码生成技术现状与XMDD范式解析

代码生成技术现状与XMDD范式解析

1. 代码生成的现状

1.1 全代码生成的可能性

全代码生成是否可行在很大程度上取决于源语言。挑战在于设计一种语言,它要包含足够的信息以生成完整的代码,同时又不必使其抽象级别与代码保持一致。例如,可执行UML(Executable UML)旨在通过精确定义的动作语义,使用像动作规范语言(ASL)这样的合规动作语言,使UML模型可执行。虽然这种技术改善了代码生成的结果,但代价是模型的抽象程度降低,更具技术性。

1.2 代码生成器的质量保证

代码生成器和其他软件产品一样,需要进行质量保证,如验证和确认(V&V)。代码生成器中的错误可能导致严重问题,如代码无法编译或生成系统出现意外行为。在编译器构建领域,有很多关于V&V的研究,包括编译器验证(如基于定理证明、精化代数、翻译验证、程序检查和携带证明的代码等技术)以及编译器测试。

1.3 代码生成器的验证和测试示例

  • 定理证明 :Blech等人使用定理证明来验证状态图到Java子集的翻译,GeneAuto项目使用它来验证从数据流和状态模型生成C代码。
  • 翻译验证 :Ryabtsev和Strichman将翻译验证应用于将Simulink模型转换为优化C代码的商业代码生成器。
  • 证据-based方法 :Denney和Fischer提出了一种基于证据的方法来认证生成的代码,类似于携带证明的代码的思想。
  • 测试架构 <
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值