中文 英语

定义足够的覆盖范围

与会专家,第一部分:覆盖范围的定义正在发生变化,行业正在努力寻找定义所需内容的方法。

受欢迎程度

半导体工程公司的首席科学家Harry Foster坐下来讨论了作为验证结束的一部分的足够覆盖的定义导师图形威拉德屠,嵌入式细分市场营销总监手臂拉里·维沃罗(Larry Vivolo)是苹果公司的产品营销高级总监Atrenta),西蒙·布莱克-威尔逊(Simon Blake-Wilson)是微软旗下Cryptography Research的产品和营销副总裁Rambus和普拉纳夫•阿沙尔(Pranav Ashar)真正的意图.以下是那次谈话的节选。

SE:覆盖率指标是否足以反映设计的最新进展?

:覆盖范围必须覆盖故障模式。在过去的几年里,SoC设计过程已经得到了更好的理解,因此,芯片可能遇到的故障类型也得到了更好的了解。报道是为了提供这些失败模式不会发生的信心。在这方面应衡量是否充足。

:如果我们从汽车的角度来考虑这个问题,这是一个大量使用soc的地方,我们必须考虑ISO 26262.人们正在经历一个学习阶段。以前这些类型的解决方案使用双锁步面向MCU的解决方案,但现在soc不适合这一点,因为它们需要性能。所以现在他们面临的挑战是,他们要么必须在软件上步调一致,要么拥有其他硬件架构。我可以定义我将要尝试和检测的失败模式,这就是挑战所在。这方面还没有足够的报道,行业迫切需要更多的工具来帮助他们解决这个问题。

福斯特另一个例子是do254,医疗也有另一个,但我们必须退一步,认为验证是为了降低风险,这是一个过程。与任何过程一样,必须有一些东西告诉您何时完成。问题是没有完美的覆盖模式,这取决于什么是真正关键的。在现实中,我们无法关闭覆盖范围,因为我们可以查看的东西太多了。

有两个维度来衡量覆盖率。首先是面向应用的范围缩小,这意味着有良好的覆盖,然后是面向故障模式,这两者的结合提供了一个很好的方法来处理一个模糊的问题,并将其确定为真实的事情。

福斯特当前的挑战在于,它更多的是艺术而非科学。它需要技巧来决定什么是重要的和相关的,什么不是。

:希望这条线更接近科学。

:如果你想达到100%的覆盖率,那么它需要太多的工程时间,这就是自动化工具的作用,帮助你确定优先级。当我们失败时,我们可以看看失败的原因。

Vivolo:我们对此采取更通用的方法,并从任何类型的保险的角度来看待它,这些保险需要人来创建约束并定义它,这本质上是有风险的。在测试时,我们只考虑已知的问题。有哪些事情是我们没有考虑到的?错误模式的一种方法是看看你测试了什么,你基本上可以说,每当你看到一些你从未测试过的东西,那么根据定义,它是可疑的。这可能是一个错误,但也可能不是。当您转移到系统级别时,这将缩小焦点范围。

你说过的一件事是,你想去掉人体测试。我同意这一点,但我们仍然在使用人类来提出失效模式和影响分析(FMEA)。这种分析仍然是艺术。让我们从人工测试中去掉自动化测试的部分。

福斯特也许艺术这个词不恰当,因为它暗示了它是艺术的。它需要技巧来提出一个覆盖模型,真正代表什么是重要的,什么是我们可以实际关闭的。

:随着我们对这些设计过程的了解,用于验证这些步骤的静态技术变得越来越清晰,并固定在验证过程中。当正式的分析引擎开始发挥作用时,覆盖是它的一个副作用。根据定义,这是全面覆盖。当你静态地做更多事情时,你就会减少对覆盖率的依赖,而这在模拟中是可能实现的。静态分析技术意味着管理过程的覆盖面是隐式的,并且需要这些模拟度量的领域正在被边缘化。

福斯特你仍然需要一个覆盖范围的概念。我还需要在系统中检查这个,或者这个。总会有一个清单。

Vivolo我并不是建议我们取消所有的基本保险,只是建议我们更明智地去做。至于检查行为,这是一个自动化有意义的领域,因为行为是高层次的,这是我们需要工程师定义我想要观察的行为的地方。另一方面,如果您采用自动化方法,深入研究状态机和转换。这就是极端情况下虫子潜伏的地方。如果您专注于高层,那么调试和完全定义100%的覆盖率是非常困难的。在一天结束的时候,它是以上所有你必须使用的混合。当我们开始从SoC开始知识产权积木,这就是你必须开始对你所关注的领域变得更加聪明的地方。

福斯特:我们没有在系统级别描述ip之间随时间分布的交互的机制。自动化可以在较低级别的方面帮助我,但在系统级别上它不能帮助我。

Vivolo:系统级的问题是可伸缩性问题。当10个处理器以某种方式交互,跨越数十亿个周期时,您可能会遇到一个问题。如何解决这个问题?这些客户越来越依赖于模拟和原型,试图将覆盖连接到这些类型的技术中。这是真正的挑战。你如何做到这一点,让它只针对重要的事情?

你确实需要一点分析性和形式化的方法。报道是针对已知的未知。你知道哪些领域是敏感的问题,你想要覆盖这些领域。但总会有一些你甚至不知道的事情潜伏着。覆盖率并不能衡量你的验证过程有多好。面向应用与面向故障模式相结合,形式化与模拟相结合。

Blake-Wilson:当你谈到密码学时,覆盖率是一个有趣的讨论。我在讨论中听过几次,没有100%的覆盖率,从我的角度来看,在宏观层面上,我可以将定期测试视为概率分析,并找出最有可能的结果。在安全领域,挑战在于威胁不是随机的,而是恶意的。所以理想情况下,如果你达到99%的覆盖率,这意味着1%是攻击者的重点。可证明安全性是学术界研究的热点之一。与形式分析的类比在这里很好。他们曾经对某种东西可以被制成防弹的概念感到兴奋。然后你会问更务实的人,他们会说,虽然他们喜欢可证明的安全性,和一个正式的模型,在这个模型上,你可以找出哪些东西可以被排除为弱点,我也可以看看一个正式的模型,并找出如何解决它。它能给我什么提示?

:这在正常的设计空间中也是如此。形式性质最初是为形式证明而写的,他们意识到它们不能很好地伸缩。你需要有一个合理的预期,其中许多将不会完成。所以很多人使用这些检查作为覆盖指标。我查看我命中断言的次数,这提供了刺激有多好的衡量标准,因为断言捕获了可能出错的事情的一些概念。

Vivolo:这里的很多挑战是,有人写了断言,客户将他们写的断言、他们创建的覆盖组结合起来,然后他们依靠自动化解决方案来创建更多的断言,然后将其与形式化分析结合起来,每一个都是剥洋葱皮,直到你减少了某人实际必须查看的属性的数量。

:许多小组正在研究模拟输出,以挖掘候选覆盖目标的信息。他们创造了一个假设,你用这个假设来计算刺激有多好。

福斯特:这是一个多维度的问题,这些解决方案在较低的范围内工作得很好,但它们仍然不能解决更高层次的覆盖概念,即我在多个IP块上分布状态机。这并不能解决问题。



2的评论

Chrisgar 说:

“覆盖范围”应该被定义。本文中的覆盖率是指验证/验证吗?

布莱恩•贝利 说:

我很抱歉,知识中心链接到覆盖没有放在第一次使用术语-http://新利体育下载注册www.es-frst.com/kc/knowledge_center/Coverage/56

留下回复


(注:此名称将公开显示)

Baidu