【24h】

DATm: Diderot's Automated Testing Model

机译:DATM:Diderot的自动化测试模型

获取原文

摘要

Diderot is a parallel domain-specific language forthe analysis and visualization of multidimensional scientific images, such as those produced by CT and MRI scanners. Diderot is designed to support algorithms that are based on differential tensor calculus and produces a higher-order mathematical model which allows direct manipulation of tensor fields. One of the main challenges of the Diderot implementation is bridging this semantic gap by effectively translating high-level mathematical notation of tensor calculus into efficient low-level code in the target language. A key question for a high-level language, such as Diderot, is how do we know that the implementation is correct. We have previously presented and defended a core set of rewriting rules, but the full translation from source to executable requires much more work. In this paper, we present DATm, Diderot's automated testing model to check the correctness of the core operations in the programming language. DATm can automatically create test programs, and predict what the outcome should be. We measure the accuracy of the computations written in the Diderot language, based on how accurately the output of the program represents the mathematical equivalent of the computations. This paper describes a model for testing a high-level language based on correctness. It introduces the pipeline for DATm, a tool that can automatically create and test tens of thousands of Diderot test programs and that has found numerous bugs. We make a case for the necessity of extensive testing by describing bugs that are deep in the compiler, and only could be found with a unique application of operations. Lastly, we demonstrate that the model can be used to create other types of tests by visual verification.
机译:Diderot是一种并行结构域的语言,对多维科学图像的分析和可视化,例如CT和MRI扫描仪产生的那些。 Diderot旨在支持基于差分张量微积分的算法,并产生高阶数学模型,允许直接操纵张量场。 DIDerot实现的主要挑战之一是通过有效地将张量模沟的高电平数学符号转化为目标语言中有效的低级代码来弥合该语义差距。高级语言的关键问题,例如Diderot,是我们如何知道实现是正确的。我们之前呈现并捍卫了一组核心重写规则,但从源到可执行文件的完全翻译需要更多的工作。在本文中,我们呈现DATM,DIDerot的自动化测试模型,以检查编程语言中核心操作的正确性。 DATM可以自动创建测试程序,并预测应该是什么结果。我们根据程序的输出代表计算的数学等效项,测量在DIDerot语言中写入的计算的准确性。本文介绍了一种基于正确性测试高级语言的模型。它介绍了DATM的管道,该工具可以自动创建和测试成千上万的DIDerot测试程序,并发现了许多错误。我们通过描述编译器中深入的错误来进行广泛测试的必要性,并且只能找到唯一的操作操作。最后,我们证明了该模型可用于通过视觉验证来创建其他类型的测试。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号