Page 116 - 《软件学报》2025年第7期
P. 116

沈庆超 等: 深度学习编译器缺陷实证研究: 现状与演化分析                                                   3037


                    经过分析发现, CfgFuzz 检测到的       8  个缺陷中, 有  3  个缺陷是和优化相关的逻辑错误缺陷, 4           个张量形状错误
                 类型缺陷, 1  个异常处理错误的缺陷, 1        个未知类型的缺陷. CfgFuzz 的检测缺陷的高效性进一步验证了本文关于
                 DL  编译器缺陷的实证研究所挖掘出来的发现和启示是切实可行的.
                    图  5  展示了一个   CfgFuzz 检测到的  TVM  缺陷. 在配置选项包含       AlterOpLayout 的优化算子且编译目标平台
                 为  CUDA  的时候, TVM  在编译  vgg16-cifar10  模型的时候会发生会崩溃. 由于      AlterOpLayout 优化算子错误地就地
                 修改  IR  的结构, 而不是在基于拷贝的       IR  做修改, 从而导致模型不等价的转换. 为此, 开发者通过在使用该优化前
                 对模型结构进行深拷贝的方法修复了该缺陷.








                                        图 5 一个   CfgFuzz 检测到的缺陷    (TVM# Issue-7979)

                 6   研究效度的威胁

                    本节将讨论本文研究方法与数据标注过程中可能遭遇的研究效度威胁. 研究效度威胁是指在研究过程中, 那
                 些可能对研究结果的准确性、可靠性和泛化性构成潜在威胁的因素. 这些威胁因素通常可以分为外部效度威胁和
                 内部效度威胁两大类.
                    关于外部效度威胁, 首要关注点是数据集的质量. 本研究参考了现有缺陷研究方法, 系统地搜集了                               3  款主流
                 DL  编译器中的   613  个缺陷案例, 这些案例均源于已被合并到项目主分支的拉取请求                   (PR) 和通过关键词搜索识别
                 的缺陷修复    PR. 因此, 本文收集的数据集的质量可靠性较强. 作为              DL  编译器缺陷领域的一项重要研究, 本文显著
                 提升了研究的普遍性和代表性. 此外, 由于            DL  编译器不断公布新修复的缺陷, 本研究无法持续跟进所有新修复缺
                 陷会构成了外部效度的一个潜在威胁, 可能影响研究发现的实用性时效. 为了降低这一威胁, 本文在缺陷时间段选
                 取上, 收集了较长时间跨度的缺陷数据集, 并再研究发现中指出                    DL  编译器缺陷会随时间发生改变的因素            (比如:
                 不同类别缺陷的分布) 和不会随时间发生改变的因素                 (缺陷根因和症状的类别). 同时, 本文进一步指出随时间发生
                 改变的因素主要的引起原因. 这些研究发现对              DL  编译器后续的研究有着长期的指导意义.
                    在内部效度方面, 主要挑战在于手动标记过程可能存在的主观性和误差. 为了减轻这些潜在威胁, 本研究采用
                 了双重核查机制. 两位具有丰富开发经验的作者依据通用的开放编码方案                         [20] , 独立进行数据标记工作. 通过计算
                 Cohen’s Kappa 系数验证标记一致性, 结果显示评分者间一致性高达               95%, 这充分证明了标记过程的高度可靠性.
                 在出现标记不一致时, 会邀请第          3  位资深开发人员参与讨论, 直至达成一致意见, 从而进一步提高标签的可靠性和
                 准确性. 此外, 在标注培训阶段, 本研究还引入了第三方的视角来讨论不一致之处, 以降低因主观判断错误而导致
                 的误判风险. 未来, 我们将考虑采用自动化的标注方式来消除人工标注存在的主观性影响. 训练一个针对缺陷特征
                 的分类模型和使用大语言模型           [45] 实现自动化标注均为潜在的替代方案, 尤其是借助大语言模型多智能技术                      [46] 实
                 现自动化标注是一个潜在的高效且有效的方法.

                 7   总 结

                    为了深入研究当下       DL  编译器缺陷特征及其随时间的演变情况, 本文对当前主流                  3  款  DL  编译器  (即  Apache
                 的  TVM、Facebook  的  Glow  和华为的  AKG) 中  613  个近期修复的缺陷进行深入分析. 通过从缺陷的根因、症状
                 与位置的演变情况, 根因、症状、位置三者之间的内在联系, 触发缺陷的回归测试用例和修复缺陷的补丁特征等
                 角度深入分析     DL  编译器缺陷的现状, 总结了        12  个主要发现. 在此基础上, 我们为未来的          DL  编译器缺陷检测和
                 调试研究提供了一系列可操作的启示. 最后, 基于本文的研究发现与启示, 我们开发了一款轻量级的基于优化配置
                 的测试工具    CfgFuzz. CfgFuzz 通过对编译配置选项     (如优化选项和目标硬件平台选择) 进行组合测试, 成功检测出
   111   112   113   114   115   116   117   118   119   120   121