[发明专利]纠正计算机系统内错误的方法和装置有效
申请号: | 98802783.6 | 申请日: | 1998-02-13 |
公开(公告)号: | CN1252875A | 公开(公告)日: | 2000-05-10 |
发明(设计)人: | A·克雷博;R·贝迪切克;D·坎普尔 | 申请(专利权)人: | 全斯美达有限公司 |
主分类号: | G06F11/00 | 分类号: | G06F11/00;G06F11/16 |
代理公司: | 上海专利商标事务所 | 代理人: | 李湘 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 纠正 计算机系统 错误 方法 装置 | ||
发明领域
本发明涉及计算机系统,特别是涉及快速和准确调试计算机系统的系统。
背景技术
经常需要检测计算机进程或计算机系统内的差错。为此,一种典型的方法是测试被指定系统(“测试系统”)相对已知具有正确功能的系统模型(“参照系统”)的行为。如果测试行为与参照系统一致,则假定系统具有正确的功能。如果系统行为有差异,则检测到差错。
比较两种系统行为的方法有多种。一种是使每种系统生成内部或外部事件流,例如过程调用、状态过渡或总线信号,并比较两种流。但是有些事件流可能太难以捕捉而使事件流比较不实用。其它的事件流捕捉起来代价可能非常高。还有其它事件流提供的差错定位可能过于粗略。在一些事件流中,事件可能太依赖于系统的实现方式并且由此导致不兼容的问题。
另一种比较技术是运行两种系统,记录运行时的系统状态并进行比较。状态比较可能会遇到与事件流比较同样的问题。访问某些状态可能代价昂贵或者不可能,或者可能太依赖于两种系统的实现细节。
不同的方法可以用来完成状态或事件的比较。传统上如果参照系统是非正式的或者非可执行的,则方法属于对各种与参照系统产生的状态或事件不兼容的各种测试状态或事件的特定搜索。因此这种方法很有可能将驻留在测试系统内的重要问题遗漏。
如果参照系统是可执行的规程,则需要能够简单地同时运行两种系统并在任意时刻比较状态以检测差异。上述问题使其更为困难。
通常情况下在每步后精确比较系统状态是不可能的。首先,测试系统与参照系统在一些方面不可避免地不同(例如功能、实现方式或性能)从而使得系统的总体状态不是一直可比较的。对于某些系统,总体状态从来就不可比特。例如,当将一种应用程序从一种运行第一操作系统的处理器移植到运行第二操作系统的另一种处理器时,通常需要比较与参照系统明显不同的测试系统的状态。所需要的是测试系统产生与参照系统一样的最终结果。由于处理器和操作系统的不同,运行两种系统的任意时刻完成的操作(因此状态)也可能不同。
其次,在每个系统的每次操作后不断比较状态代价可能过于昂贵。为了比较两种系统的状态,两种系统所有的存储器(可能包括二级存储器)和所有的寄存器都必须比较以确认是否一致。数量极大的状态比较的规模使其代价非常高昂。
最后,某些状态信息可能无法得到,例如在不可读处理器寄存器中的状态或者在一种系统中隐含表示的状态。因此比较必须是选择性的。
即使比较执行期间所有点的状态是困难的,也可以选择测试系统与参照系统结果应该一致的点。在这些点上,可以进行状态比较。但是迄今为止,尚无自动或快速的比较系统的方法。
需要提供一种快速检测测试系统内差错的方法和装置。
具体而言,需要提供一种检测计算机进程或计算机系统内差错的方法和装置。
发明内容
本发明由用于检测计算机系统内差错的计算机实施的进程实现,它包括以下步骤:在参照系统和测试系统上执行软件程序的指令序列,检测和记录程序执行中可比较点上参照系统与测试系统的状态,比较检测到的包括指令序列结束在内的指令序列中可选择的可比较点的参照系统与测试系统的状态。
在特定实施例中,如果检测到系统比较状态的差异,则自动回放参照系统与测试系统的可选择可比较点之间指令序列的执行部分。
通过以下结合附图对本发明的描述,可以进一步理解本发明的各种特征,附图中相同的单元采用相同的标号。
附图的简要说明
图1为按照本发明的系统框图。
图2为按照本发明的系统其中一个实施例的框图。
图3为按照本发明的过程的示意图。
实施发明的较佳方式
现在参见图1,它示出了按照本发明构造的装置的框图。本发明利用从程序12接受指令的控制机构10。它需要在测试系统15和不止一个参照系统16上利用输入/输出设备或模型18执行。程序12可以是硬件或软件程序或进程或它们的变例。测试和参照系统15和16可以是硬件、软件或它们的组合。控制机构10由测试系统15和参照系统16控制程序12的执行。程序12虽然在图中示出的是分立的实体,但是可以嵌入系统或者从系统外部提供。对于每种系统程序12可以有不同的表示,但是必须在某个层次上计算相同的结果。控制机构10可以是任意控制,它提供了以增量方式运行程序12并以增量方式读取或验证两种系统状态的装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于全斯美达有限公司,未经全斯美达有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/98802783.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有延长座的便器
- 下一篇:造纸用的带辅助纱的织物