(人工)聪明的验证

虽然它似乎是一个显而易见的应用程序,利用数据验证是非常微妙和比它看起来。

受欢迎程度

功能验证产生大量的数据,但这是适用于人工智能(AI)或机器学习(ML) ?专家称在哪里和AI如何帮助和行业可以做些什么来提高效益。

说:“这不一定数量哈里·福斯特的首席科学家验证在导师,西门子业务。“这是重要的质量。这是多么独特的探索状态空间中的数据吗?我们声称有大量的数据,但是我们没有那么多比许多其他行业。我们需要的解决方案基本上是抽象的数据或允许我们做数据挖掘分析小数据集”。

获得足够数量的良好的数据仅仅是挑战的一部分,。“重要的是要看你想问什么问题的数据,“Raik Brinkmann说,总裁兼首席执行官OneSpin解决方案。“你可以运行模拟或仿真,得到这些痕迹,但有要求是什么?什么是你想知道的东西呢?”

增加了复杂性,验证生产很多类型的数据。说:“验证数据源几乎取之不尽的达科Tomusilovic,验证Vtool主管。“数据有许多不同的形式包括日志文件、波形,覆盖率数据,和代码本身。这些数据必须被理解为一个整体。我们需要找到最低的数据量是非常有用的机器学习(ML)工具。我们不能过载的情况有很多垃圾数据将使其效率低下。”


图1:分析数据找到根源。来源:VTool

事实上,有效地利用数据需要一个完整的验证环境。“人工智能需要结果数据,高粒度、结果数据的输入数据用于生产,”丹尼尔Schostak说,中央工程集团架构师和研究员的手臂。”一般来说,第一个是现成的,但第二个可能需要一个公平的提取工作。不像某些情况下,没有标准的数据集,可用于培训。DUT或验证环境的变化随着时间的推移将无效数据集使用。然而,这些困难是不可克服的。”

数据可以以不同的方式使用。“我们花了很多时间提取项目数据,”科林·麦克拉说,副总统的验证平台的想象力的技术。“每个任务需要多长时间?多长时间我们花在这个testbench, testbench上多久?我们发现了多少问题?找到错误的最好方法是什么?的数据量和数量的测试越来越兴奋,任何能够使用一些数据和找到干草堆的针将有利。”

项目已经使用多年的分析。“有一个公平的机会,你可以推断出一些关于项目的大小,多少小时你需要找到一个缺陷或看趋势和关闭的报道,“OneSpin的Brinkmann说。“你可以了解您的组织。但这将是不同的从设计到设计,从项目,从公司到公司。”

最终,验证试图评估如果设计作品。“你需要一块数据在一个聪明的方式,并能够识别出一个工程师,可能在一个日志文件暗示,或从这个报道点,事情可能会是一个问题,“Farzeen Nathoo说平台工程师度量技术。“当你继续挖掘,数据,AI变得更好并开始学习这些模式。所以有余地毫升和人工智能。”

和公司报告初步成功。“我们监控代码提交为了理解什么样的变化可能造成干扰的设计、“VTool的Tomusilovic说。“通过跟踪代码库,我们可以试着确定的变化可能有助于我们理解的修改的代码片断可能破碎的设计。”

删除不必要的数据
如果仿真和模拟创建大量无用的数据,这可能是公平的假设减少无关的执行将是有利的。也许一个公平的问题,“什么是最小数量的测试需要运行关闭我的报道?”

”技术是一种已经有智能覆盖分析,“指标”Nathoo说。“你运行一些回归,发现某些测试有助于覆盖,你不需要,你把种子,说这是一个无用的测试”。

需要小心。“有研究失败”,导师的福斯特说。“IBM一直在试图用毫升覆盖关闭了20多年。覆盖关闭不是最简单的问题,它需要很多工作要真正完成的。”

这也是潜在风险。“这是一个危险的事,”Brinkmann警告说。“我们需要把一些反馈,问在消极意义上意味着什么?如果我这样做,然后做出改变的设计,有什么我现在失踪吗?你没有覆盖尽可能多的了。如果你只考虑覆盖你需要的特定情况下,你可以明显优化。”

优化依赖有用的指标。“我们需要考虑的有效性测试和有效性的报道,“想象力说麦克拉。“这将是有趣的汇集了几家公司,几个项目,并分析缺乏测试的有效性。你花很多时间和获得小牵引吗?”

和效率需要一个限定符。“很难理解回归是否足够有效,或者我们只是有太多的场景目标特性,“Tomusilovic说。“今天,我们只看多少次每个覆盖目标已经达到。我们不探讨,或完全理解,如果回归是低效和ML可能帮助的。”

定义范围
功能覆盖并不是一个绝对指标,创建问题。“如果你有正确的数据,您可以应用人工智能和成功,“Nathoo说。“不幸的是,当有人定义功能覆盖,它可能没有写好,不做一个完整的工作。你是有限的,有人写了什么。如果没有什么可检查代码,除了功能覆盖,然后你有一个问题。”

和定义覆盖是最棘手的问题之一。“如果人们大量情报无法解决时,或者他们需要覆盖下,为什么一个相对不成熟AI框架能够这样做?”麦克拉问道。“市场需要开始考虑超出覆盖率作为最终目标。覆盖率是一条信息。一致性、合规和压力测试环境在真实的应用程序和代表环境可能是一个更好的方法测量整体质量。”

报道的另一个问题是缺乏标准化。“它已经可以捕捉大量的信息与报道用于人工智能和提取的过程,它可以用于人工智能相对简单,“胳膊的Schostak说。“然而,提取过程会更加标准化跨不同的工具如果计划的承诺像uci完全意识到。这将帮助简化过程。”

它回到提出正确的问题。说:“报道关闭太模糊Tomusilovic。“为了有效地使用人工智能,我们需要看数据,结构,标签的方式是有用的然后我们需要从面板中选择算法的算法中存在的市场。最后,我们可以训练和测试数据。我们仍然有些远离真正的解决方案。”

廉价的计算和存储
人工智能已经起飞,因为数据中心的变化。“什么是真正推动这些讨论今天是我们可以处理大数据,”福斯特说。“存储已经成为便宜,计算增加了,然后我们看到开源解决方案的出现。就是这样的融合成为可能。”

它还使我们能够产生更多的数据。“我们有大量的计算能力,但是我们没有奢侈品吸引每一个可能的方法,每一个可能的信号,我们想要的,”费金说Uri, VTool产品处于领先地位。“如果你这样做,你会发现计算能力仍然是不够的。首先,我们要减少垃圾数据。最难的问题,科学家今天正在处理数据是数据如何清洁。太多误导性信息不会有帮助。它只会导致错误的答案。因此,尽管你比以前有更多的玩具玩,你仍然需要明智地玩他们。”

但增加的计算能力使我们效率低吗?“计算能力的增加,但不一定意味着更好或更有效,”麦克拉说。“这是今天的人们更容易进行更多的测试比几年前。它是人们更容易添加大量的功能,寻求高质量的报道比几年前因为改进的工具。但这并没有使这个过程更有效率。它不再让整体质量货真价实的单位时间。”

任何开销使用人工智能已经导致一个改进。“肯定有更多的可用的计算能力的扩张是可能的,什么“Schostak说。“然而,AI的使用是合理的,使验证更有效率,如果运行优化验证的成本仍低于运行实现验证之后,考虑到成本和人工智能优化验证。”

固定的设计
验证的目的是不完全覆盖,但是,确保设计工作。一路上,缺陷识别、分析和固定。这是一个费时的过程。“有方面的流动,如根源分析来帮助调试失败,将是有用的人工智能可以帮助的地方,“Schostak说。“这个问题是复杂的解决。”

几家公司试图执行根源分析。“从形式的角度来看,是不容易确定一组失败的本质,“Brinkmann说。“也许,所有的现代科技在我们处理,我们可以以不同的方式看它。通过将更多的计算能力的问题我们可以节省人力吗?你想节省人类智慧和时间,并使它们更有效,但是你必须投资于基础设施。”

正在取得进展。“如果一个测试是由X事务和一些通过当别人失败时,我们可以使用人工智能来告诉我们什么是所有失败的事务,独有的“VTool的费金说。“这只是其中一个例子如何使用人工智能调试。”

这种方法可以看看发生了什么变化导致这些差异。“不仅是什么被改变,但对其他相关组件的影响,”福斯特说。“这是一个重要的问题,因为你可以有事情本质上是分布式状态机。我做这个改变,我看不到这个连接,但它是一种以某种方式连接。”

这可能被视为一种微分分析。”两种设计,你基本上认为功能应该是一样的,“Nathoo说。“但设计已经改变,你添加新的部件或修改代码。能够区分这两个设计可以为测试工程师很有帮助。”

这种分析可能导致更有效的回归。“我试着做这个在90年代使用bdd,但它遇到了许多问题,”福斯特说。“我们很早就意识到如果我们能识别的影响,然后我们可以秩序回归套件,这样我们可以测试的东西更快。这是一个总体的目标。”

它还可以帮助探索周围的一个问题。“考虑设计和一些断言,“Brinkmann说。“然后让工具找出更多痕迹,实际上违背了属性。如果你用迭代,可以重点向为什么失败的本质。看起来像一个很有前途的方法。”

构建的模型?
人工智能应用程序依赖于训练模型。“机器学习的主要过程是将数据训练模型,然后销售模式,”费金说。“你然后使用模型的输入数据和查看结果。最大的挑战是创建一个有用的模型。你不能把一个验证工程师,或设计工程师。你需要一个数据科学家这一任务。这是我们的一个挑战解决内部问题。我们希望我们能使这项技术可访问,因为建立一个机器学习模型需要一个不同的建模技巧。”

问题是,在一个足够大的模型不一定是便携式的客户。“用户可能会有更大的成功,他们的知识是很重要的,”Schostak说。“例如,用户更有可能知道应该使用人工智能指导testbench专注于感兴趣的领域。然而,当谈到选择之间的算法用于解决约束,或寻找证据,EDA公司更有可能知道,和访问,人工智能的信息需要帮助。”

这不是那么简单。“当人们谈论AI和ML,他们设想一个按钮工具输入一串数据,点击一个按钮,他们希望得到解决的问题,“Tomusilovic说。“这不是在验证。人类的智慧是强制性的,而且我相信它不能被取代。你不能要求解决的问题。但是你必须是非常具体的。你必须提供有意义的输入工具,更重要的是,你必须意识到你所期望的工具。你必须提出正确的问题。”

我们继续寻求改善。“我想把注意力集中在与数据看我们能做什么,”麦克拉说。“推动重点AI是不对的,而不是数据分析。很多人还摸不着头脑,生成的数据,试图找出他们需要做下一个。或者是优先级最高的事情我需要做什么基于有这么多数据?”

炒作可以驱使人们错误的方向。“鉴于围绕AI,术语使用相当广泛,“Schostak说。“重要的是不要限制自己所能严格描述为AI当决定使用何种算法和技术数据。AI可以用来从数据提供更多的可操作的信息,但它是不可能完全取代人类的判断在这个时间点。”

其他人也同意。“作为一个工具,人工智能是有用的对于一些事情,与别人无关,”费金说。“我们是错误的给过于强调机器学习。另一方面,这是错误的,我们不应该做分析和机器学习。我们应该了解每个技术的功能和使用它们最好的地方。有时,可视化可以提供一切您需要回答一个问题。有时它可以成为一个工程师坐在隔壁,有时候可以机器学习。”

不过,从根本上讲,这提出了一个重要的一点——我们知道正确的问题吗?“这里的学习,人们将是他们有一些他们想要建立的概念,和他们有一些经验会是什么样子,”Brinkmann说。“为了应用机器学习,您将需要形式化他们真正想要什么。并没有太多可用在这个级别的数据,您可以挖掘或使用”。

所以至少在可预见的未来,工程师仍有可发挥重要作用。“真正的智慧总是比人工智能更重要,”福斯特总结道。



1评论

FAZANNA HANNI-QURESHI 说:

伟大的见解——直到我们看到健壮的数据模型范例AI造型仍将有一个软肋。

留下一个回复


(注意:这个名字会显示公开)

Baidu