当前位置:首页 > 报告详情

赵英全_MLIR编译器基础设施模糊测试.pdf

上传人: 柒柒 编号:1268178 2026-06-13 39页 7.51MB

1、MLIR编译器基础设施模糊测试赵英全MLIRMLIR编译器编译器LLVM IRByteCodeSIL IRXLA HLO Dialect(方言):定义操作、属性和类型如:用于表示计算图的 tosa dialect1scfmemref.tosa如:tosa 方言的Lowering Passlevel 1level 2Pass(转换):遍历程序并执行转换和优化2.Multi-Level IR(Compiler Infrastructure)为不同领域设计独立的中间代码表示和实现新的基础设施成本高昂且容易出错不同编译系统通常涉及许多共同的代码优化(例如,循环展开优化)12MLIR多级多级中间表示(中

2、间表示(Multi-Level IRMulti-Level IR)1:applied passes:-pass-pipeline=builtin.module(func.func(tosa-to-linalg-named,linalg-generalize-named-ops)and-one-shot-bufferize-func-bufferize-convert-linalg-to-loops-canonicalize%2=tosa.transpose%1,%0:(tensor,tensor)-tensor1MLIR 程序可以通过转换为低级可执行方言(例如 llvm 方言)来执行MLIR的

3、质量保证(测试)非常重要!MLIRMLIR powered tools%0=memref.get_global _constant_1x2x3xi32:memref%alloc=memref.alloc()alignment=64:i64:memrefscf.for%arg0=%c0 to%c2 step%c1 scf.for%arg1=%c0 to%c3 step%c1%1=memref.load%0%c0,%arg0,%arg1:memref memref.store%1,%alloc%arg0,%arg1,%c0:memref 编译器测试编译器测试-测试程序生成测试程序生成传统编译器测试

4、流程1.A Survey of Compiler Testing.Junjie Chen,Jibesh Patra,Michael Pradel,Yingfei Xiong,Dan Hao,Lu Zhang.ACM Computing Surveys(CSUR)202051%7%25%1MLIR测试程序生成测试程序MLIR测试程序间接测试多样性有限2MLIR测试效果差MLIRSmith(ASEMLIRSmith(ASE 23)23)MLIR测试程序生成多样性(Dialect中的操作)有效性(保障语法和语义的正确性)MLIR 语法测试程序模版attribute:op=memref.alloc,k

5、ey=alignment C1=operand:visible_vals=%alloc,.,op=memref.store,attrs=,types=f32 V6 =%alloc实例化规则测试程序模版实例化程序模板构建程序模板构建func.func parallel_store(%cst:f32,%lb:index,%rb:index,%step:index)MLIR 程序模板的语法规则程序模版示例V 和 C 分别是操作数和属性的占位符语法正确性signature returntypebody%alloc=memref.alloc V1 alignment=C1:memref scf.para

6、llel(%iv)=V2 to V3 step V4 return memref.store V5,V6 V7 scf.yield 程序模板实例化程序模板实例化 func.func parallel_store(%cst:f32,%lb:index,%rb:index,%step:index)%alloc=memref.alloc(%rb)alignment=C1:memref scf.parallel(%iv)=(%lb)to(%rb)step(%step)memref.store%cst,V6 V7 scf.yield return%iv%allocq attribute:op=memre

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
1. **MLIR测试工具演进**:MLIRSmith(ASE'23)通过模板实例化生成测试程序,检测53个未知漏洞;MLIRod(ISSTA'24)引入操作依赖图(ODG)引导变异,检测68个漏洞,较MLIRSmith提升21个独特缺陷。 2. **静默缺陷检测突破**:DESIL(OOPSLA'25)新增未定义行为消除、下降路径优化和差分测试,检测42个缺陷(含23个静默缺陷),误报率0%,显著优于对比方法。 3. **核心数据**:MLIRod 24小时检测31个漏洞(MLIRSmith仅14个);DESIL检测25个静默缺陷,优化后平均22次迭代完成程序降级。
MLIR如何揭错? 静默缺陷咋检测? 测试工具有多强?
客服
商务合作
小程序
服务号
折叠