Minotaur: Adapting Software Testing Techniques for Hardware Errors

Minotaur: Adapting Software Testing Techniques for Hardware Errors
复制标题

DOI:
10.1145/3297858.3304050
复制
发表时间:
2019-04
期刊:
Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
Abdulrahman Mahmoud;Radha Venkatagiri;Khalique Ahmed;Sasa Misailovic;D. Marinov;Christopher W. Fletcher
Abdulrahman Mahmoud;Radha Venkatagiri;Khalique Ahmed;Sasa Misailovic;D. Marinov;Christopher W. Fletcher
中科院分区:
其他
文献类型:
--
作者:
Abdulrahman Mahmoud;Radha Venkatagiri;Khalique Ahmed;Sasa Misailovic;D. Marinov;Christopher W. Fletcher

文献摘要

被引文献

相似文献

随着常规CMOS缩放的结束,需要有效的弹性解决方案来解决硬件错误的可能性增加。无声数据损坏(SDC)特别有害,因为它们可以在用户知识的情况下创建不可接受的输出。已经提出了几种弹性分析技术来识别引起SDC的说明,但是它们对于实际使用和/或牺牲精度而无法提高分析速度的速度太慢。我们开发了Minotaur,这是一种新型工具包,以提高弹性分析的速度和准确性。 Minotaur背后的关键见解是,现代弹性分析与软件测试具有许多概念相似之处。因此,从丰富的软件测试文献中调整技术可以导致弹性分析的有理化和显着提高。 Minotaur从软件测试中识别并调整了四个概念:1)它引入了用于弹性分析的输入质量标准的概念,并将PC覆盖范围识别为简单但有效的标准; 2)它使用输入质量标准来评估创建输入的好处,从而最大程度地减少(快速)从(慢)标准基准输入的输入; 3)它调整了测试案例优先级的概念,以优先考虑错误注射,并提早终止给定指令,以加快错误注射障碍活动; 4)它进一步调整了测试用例或输入优先级,以在多个输入中加速SDC发现。我们通过将牛头怪应用于Antylyzer(一种最先进的弹性分析工具)来评估牛头怪。 Minotaur的前三种技术加快了Antilyzer的弹性分析的速度(平均为10倍)(平均而言)。此外,他们在探索的所有SDC引起的指令中(平均)确定了96%(平均),而仅由Altyzer识别出的64%。 Minotaur的第四个技术(输入优先级)可以使识别所有以2.3倍(平均为2.3倍)探索的所有SDC引起的指令,而不是独立分析每个输入的工作负载。
With the end of conventional CMOS scaling, efficient resiliency solutions are needed to address the increased likelihood of hardware errors. Silent data corruptions (SDCs) are especially harmful because they can create unacceptable output without the user's knowledge. Several resiliency analysis techniques have been proposed to identify SDC-causing instructions, but they remain too slow for practical use and/or sacrifice accuracy to improve analysis speed. We develop Minotaur, a novel toolkit to improve the speed and accuracy of resiliency analysis. The key insight behind Minotaur is that modern resiliency analysis has many conceptual similarities to software testing; therefore, adapting techniques from the rich software testing literature can lead to principled and significant improvements in resiliency analysis. Minotaur identifies and adapts four concepts from software testing: 1) it introduces the concept of input quality criteria for resiliency analysis and identifies PC coverage as a simple but effective criterion; 2) it creates (fast) minimized inputs from (slow) standard benchmark inputs, using the input quality criteria to assess the goodness of the created input; 3) it adapts the concept of test case prioritization to prioritize error injections and invoke early termination for a given instruction to speed up error-injection campaigns; and 4) it further adapts test case or input prioritization to accelerate SDC discovery across multiple inputs. We evaluate Minotaur by applying it to Approxilyzer, a state-of-the-art resiliency analysis tool. Minotaur's first three techniques speed up Approxilyzer's resiliency analysis by 10.3X (on average) for the workloads studied. Moreover, they identify 96% (on average) of all SDC-causing instructions explored, compared to 64% identified by Approxilyzer alone. Minotaur's fourth technique (input prioritization) enables identifying all SDC-causing instructions explored across multiple inputs at a speed 2.3X faster (on average) than analyzing each input independently for our workloads.