首页> 外文期刊>Programming and Computer Software >Automated Testing of a TCG Frontend for Qemu
【24h】

Automated Testing of a TCG Frontend for Qemu

机译:自动测试QEMU的TCG前端

获取原文
获取原文并翻译 | 示例
           

摘要

Implementing new target architecture in Qemu involves creating a frontend of the TCG dynamic binary translator to this architecture. Testing is necessary to verify the correctness of that translator component. Currently, existing TCG frontend testing systems use an approach based on comparison with an oracle. This oracle has the same processor architecture and can be a real processor, high-fidelity emulator, or another binary translator. Unfortunately, these oracles are not always available. This paper is devoted to testing a target architecture implementation in Qemu when the necessary oracle is not available. The proposed approach is based on the fact that the binutils package and C compiler are usually available even for rarely used processor architectures. A program written in a high-level programming language is expected to run in the same manner on different processor architectures if it is possible to avoid its undefined or implementation-defined behavior. This allows two different executables to be compared on a developer's machine and a virtual machine being tested. The units to be compared are entities of the high-level programming language used to write tests; in our case, tests are written in C. The approach is implemented in CPU Testing Tool (c2t) and is part of the Qemu Development Toolkit (QDT); its source code is available at . c2t is implemented in Python and supports Qemu testing in both full-system and user-level emulation modes. This tool is suitable for testing TCG frontends generated by automated TCG frontend generation systems or implemented manually.
机译:在QEMU中实现新的目标架构涉及创建TCG动态二进制转换器的前端到此架构。测试是必要的,以验证该转换器组件的正确性。目前,现有的TCG前端测试系统使用与Oracle相比的方法。这个Oracle具有相同的处理器架构,可以是真实的处理器,高保真仿真器或其他二进制转换器。不幸的是,这些袜子并不总是可用的。本文致力于在必要的Oracle不可用时测试QEMU中的目标架构实现。所提出的方法是基于,即使是很少使用的处理器架构,通常可用的Binutils Package和C编译器。如果可以避免其未定义或实现定义的行为,则预期以高级编程语言编写的程序以与不同的处理器架构相同的方式运行。这允许在开发人员的计算机和正在测试的虚拟机上进行两种不同的可执行文件。要比较的单位是用于编写测试的高级编程语言的实体;在我们的情况下,测试是用C的写入。该方法是在CPU测试工具(C2T)中实现的,并且是QEMU开发工具包(QDT)的一部分;它的源代码可用。 C2T在Python中实现,并在全系统和用户级仿真模式下支持QEMU测试。该工具适用于测试由自动TCG前端生成系统生成的TCG前端或手动实现。

著录项

  • 来源
    《Programming and Computer Software》 |2020年第8期|737-746|共10页
  • 作者单位

    Russian Acad Sci Ivannikov Inst Syst Programming Ul Solzhenitsyna 25 Moscow 109004 Russia;

    Russian Acad Sci Ivannikov Inst Syst Programming Ul Solzhenitsyna 25 Moscow 109004 Russia;

    Russian Acad Sci Ivannikov Inst Syst Programming Ul Solzhenitsyna 25 Moscow 109004 Russia|Moscow MV Lomonosov State Univ Moscow 119991 Russia;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号