首页 > 其他分享 >ysyx:测试永远不够

ysyx:测试永远不够

时间:2024-07-30 23:50:53浏览次数:15  
标签:代码 ysyx 问题 jal 指令 测试 跳转 不够

  尽管指令匹配的部分早就已经完成,但这并不代表代码方面就不会再检测出漏洞。cpu-test这个测试集文件夹里面的测试代码只是覆盖了一部分内容,即使是全部通过,你的代码也仍有可能是错误的。

  当我在处理其他内容时,突然间nemu就卡在了代码某处提示地址错误。重新打开difftest,定位到某处jal跳转发生问题,PC寄存器的参考值和实际值不对应。此时问题就来了:难道是我的指令写的有问题?但是这些都是检验过的指令,为什么会报错?

  多次检查之后才发现,原来是补充的J型立即数的符号拓展宏一处代码写错了。本来是BITS(30,21),失误写成了BITS(31,21)。 就是这一处错误,导致nemu遇到这条特殊的jal指令时不能正确拓展立即数,导致最终跳转地址计算错误。而在之前的指令测试环节,测试集里所有的jal指令都很巧的在这个bit上没有出现立即数拓展问题,导致这个问题被掩盖了起来,直到今天才发现并修补。所以,随时做好自己以前写过的代码会被测试环节发掘出新问题的准备。此外,我们也可以意识到,对待一个大工程,测试真的是一个十分重要的环节。比如用来快速定位寄存器问题的difftest,在测试方面做好基础工程真的能省下大量debug时间,节省很多功夫。包括itrace mtrace ftrace dtrace等,早点完成对后续开发有很大帮助。

标签:代码,ysyx,问题,jal,指令,测试,跳转,不够
From: https://www.cnblogs.com/namezhyp/p/18333592

相关文章

  • docker换国内镜像源-Docker安装 Nginx测试-Docker部署Gitblit服务器
    docker换国内镜像源,docker换源echo>/etc/docker/daemon.jsoncat>/etc/docker/daemon.json<<END{  "registry-mirrors":[    "https://hub-mirror.c.163.com",    "https://ustc-edu-cn.mirror.aliyuncs.com",    "https:/......
  • 编写并测试Fibonacci()函数,该函数用循环替代递归计算斐波那契数
    /编写并测试Fibonacci()函数,该函数用循环替代递归计算斐波那契数斐波那契数列(FibonacciSequence)又称黄金分割数列。特别指出:第0项是0,第1项是第一个1。此数列从第2项开始,每一项都等于前两项之和。/include<stdio.h>intFibonacci(intn){//使用循环计算斐波那契数inta=0,b......
  • 测试开发的思维
    测试开发的思维首先抛出本文的观点   测试开发不等于写工具测试开发工程师和传统测试工程师的区别:测试工程师   用户思维+测试思维测试开发工程师   测试思维+开发思维所谓的开发思维,就是1、通过开发的手段提升测试效率,让测试更高效   1、开发一些工具来让测......
  • 谈谈测试人员的职责
    谈谈测试人员的职责继续上一篇笔记https://www.cnblogs.com/zxylock/p/16329598.html       写写最近的感悟--为什么好久没更笔记中有一句话:从只有一个人的测试(后期我负责招聘面试补充三到五人)到有一个测试部门环境下,好像一下子打开了新的世界。-----------------回顾----......
  • 【自动化测试必学语言】python:语言基础
    目录Python介绍语言的分类注释单行注释多行注释变量定义变量使用变量变量名的命名规范数据类型数字类型非数字类型type()函数input输入print输出格式化输出快捷键(小操作)运算符算术运算符 比较运算符Python介绍作者:吉多·范罗苏姆(Guidov......
  • mysql测试库-emp-dept
    003-MySQL版本测试库-emp-dept初始化DROPTABLEIFEXISTS`bonus`;CREATETABLE`bonus`( `ename`varchar(10)DEFAULTNULL, `job`varchar(9)DEFAULTNULL, `sal`int(11)DEFAULTNULL, `comm`int(11)DEFAULTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;--......
  • 解码你的潜力!迎接霍兰德职业兴趣测试的10个惊喜发现
    简介霍兰德职业兴趣自测(Self-DirectedSearch)是由美国职业指导专家霍兰德(JohnHolland)根据他本人大量的职业咨询经验及其职业类型理论编制的测评工具。霍兰德认为,个人职业兴趣特性与职业之间应有一种内在的对应关系。根据兴趣的不同,人格可分为研究型(I)、艺术型(A)、社会型(S)、企......
  • 窥探职业潜力的钥匙:霍兰德职业兴趣测试的10个核心原理
    简介霍兰德职业兴趣自测(Self-DirectedSearch)是由美国职业指导专家霍兰德(JohnHolland)根据他本人大量的职业咨询经验及其职业类型理论编制的测评工具。霍兰德认为,个人职业兴趣特性与职业之间应有一种内在的对应关系。根据兴趣的不同,人格可分为研究型(I)、艺术型(A)、社会型(S)、企......
  • 酷像蜘蛛池软件 支持测试
    官方百度接口蜘蛛,网站收录的优先条件就是需要有蜘蛛才可以持续收录,我们的软件支持测试,打开:dv20.net我们是免费测试,如果不信还请不要打扰~ 什么是蜘蛛池:简单来说,蜘蛛是一种经过运用大型渠道权重来获得百度录入以及排名的一种程序。所谓蜘蛛池,是指做很多泛站让搜索引擎录......
  • 达梦数据库dm8版本Mpp集群原理系统架构和搭建测试
    达梦数据库dm8版本Mpp集群原理系统架构和搭建测试    当前主流的数据库系统架构有完全共享、共享存储、完全不共享和完全对等不共享几种。其中完全共享体系如SMP服务器,局限于单节点服务器,通常价格比较昂贵,其扩展性和性能受到相应的限制。共享存储体系允许系统......