小组研究成果被IEEE/ACM会议ICSE 2026接收


清华大学软件系统安全保障小组研究成果“Synthesizing Hardware-Specific Instructions for Efficient Code Generation of Simulink”成功被软件工程领域旗舰会议ICSE 2026接收。该工作聚焦于利用建模语义来指导跨平台的硬件指令综合,显著提升自动生成代码在嵌入式等性能敏感场景中的执行效率,具有广泛的工程应用前景和实践价值。本工作由博士生喻泽弘主导完成,北航苏卓副教授等人参与指导。

研究成果概要:

Simulink 是模型驱动开发(Model-Driven Development)中的核心工具,被广泛用于航空航天、汽车电子、医疗设备等关键嵌入式系统的设计与实现,其自动生成的代码通常可直接部署于实际产品中。然而,尽管现代嵌入式处理器(如 Tricore、ARM 等)集成了多种专用指令(例如饱和加法、平方根倒数等),现有代码生成器却往往忽视了对这些硬件指令的利用,错失了进一步提升代码性能的机会。

此外,指望主流编译器(如 GCC 和 Clang)自动识别并使用这些硬件指令也效果有限。原因在于,这类指令往往具有复杂语义和多种等价形式,使得编译器难以设计通用、鲁棒的匹配策略,从而难以合成最优的目标代码。这些因素共同限制了当前生成代码的性能上限,难以满足嵌入式系统对低延迟与高可靠性的苛刻需求。

为突破上述瓶颈,论文提出了一个新的代码生成器 AMICA,以模型语义驱动自动合成平台特定的硬件指令,从而生成更高效的目标代码。具体而言, AMICA首先将目标模型转换为数据流图,并构建一套以数据流子图+语义约束表示的优化规则库,规则条件涵盖模块参数、数据类型等关键信息。随后,AMICA在数据流图中迭代匹配优化规则,识别可替换为硬件指令的“可优化子图”。 基于预估的延迟收益,AMICA选择最具性能提升潜力的规则进行图更新。最后,AMICA根据指令的语法和组件属性,为这些可优化子图综合目标平台支持的硬件指令。

论文在学术与工业 Simulink 模型基准集上对 AMICA进行了充分评估。实验结果表明:

1. 在 Tricore、ARM 和 RISC-V 等平台上,Amica 生成的代码在执行效率方面提升了 1.29 倍至 8.36 倍

2. 汇编代码体积减少了 6% 至 53%,节省了宝贵的嵌入式存储空间;

3. 多轮重复实验与假设检验表明,AMICA 的性能提升具有显著统计意义,验证了该方法的鲁棒性与通用性。