CN101268448A - 用于针对软件测试和软件监控进行数据注入和数据提取的动态探测器的方法和系统 - Google Patents
用于针对软件测试和软件监控进行数据注入和数据提取的动态探测器的方法和系统 Download PDFInfo
- Publication number
- CN101268448A CN101268448A CNA200680034911XA CN200680034911A CN101268448A CN 101268448 A CN101268448 A CN 101268448A CN A200680034911X A CNA200680034911X A CN A200680034911XA CN 200680034911 A CN200680034911 A CN 200680034911A CN 101268448 A CN101268448 A CN 101268448A
- Authority
- CN
- China
- Prior art keywords
- software
- detector
- test
- data
- software modules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种用于动态探测软件的方法和系统。动态探测器能够在运行期间被插入测试下的软件或从测试下的软件中去除。这种探测器的动态插入(去除)允许用户根据需要插入和去除探测器,而不必为了插入新探测器对软件进行重新编译。此外,探测器的动态插入(和去除)通过允许用户只在需要时增加探测器和去除不再使用的探测器,来节省存储器空间。
Description
技术领域
本发明涉及软件测试,具体地说,涉及一种对软件进行动态探测的方法。
背景技术
对软件开发者来说,其中一个最重要的要求是软件可靠。可靠性是指软件在指定环境中指定时间在无故障的情况下运行的能力。为了确保足够高级别的可靠性,必须在软件发布之前进行彻底的测试和调试。通常,针对作为整体的整个软件程序、以及组成软件程序的单独功能组件(例如,功能调用、子程序)进行测试。典型的是,针对该软件和/或一个或更多个功能组件所要求的变量生成包含一系列值的测试向量。选择变量值来代表各类想要在其中运行该软件的使用条件和环境。然后向软件和/或一个或更多个功能组件应用该测试向量,观察并记录变量值。
经常进行的一类测试称为回归分析(或者,有时称为验证测试)。回归分析包括针对为了修正已知问题而修改了的软件而进行的选择性再测试。进行选择性再测试是为了确保已修正了识别出的问题,并且确保没有其他以前正常工作的功能组件由于此次修复而出现故障。这种类型的测试是确保修改的代码仍然符合其指定要求并且未修改代码没有受到维护活动影响的基本质量控制措施。
一般来说,回归分析中的重要特征,特别是在软件测试中的回归分析中的重要特征是观察从测试向量产生的变量值的能力。早期对软件和/或其功能组件的变量值进行观察的尝试包括在其源代码中手动设定断点及其他陷阱(trap)。最近,例如来自Texas Instruments的Code ComposerStudioTM和来自National Instruments的LabVIEWTM的软件开发工具,包括可以在测试条件下插入到代码中的软件探测器。该软件探测器允许在软件执行时实时地观察测试下的代码中的变量。然而,这些新近的方案仅基于从测试下的代码中获得变量值(例如,这样可以对它们进行分析)。这些方案不允许在执行软件期间改变变量值。换句话说,这些现有软件探测器只是单行或单向探测器,即,只允许数据从测试下的代码流向测试系统。这些软件探测器不允许对数据传输方向进行逆转,以使得数据从测试系统流入测试下的代码中。
另一些探测器是双向的,即,这些探测器允许数据从测试下的代码流向测试系统,并且允许数据从测试系统流向测试下的代码。可以在2003年5月1日提交的、发明名称为“BI-DIRECTIONAL PROBING OFSOFTWARE”的共有美国申请第10/428733号中找到双向探测器的示例,其以引用的方式并入于此。
然而,在现有方案中,单向探测器和双向探测器二者都以静态模式工作,这意味着需要在测试下的软件的编译期间确定探测器。如果不在编译期间引入探测器,则引入探测器的唯一方式是对测试下的软件进行重新“建立”(rebuild),这种情况是不理想的。并且,即使在探测器不工作时,也仍然消耗少量存储量,对于整个系统来说,所述少量存储量可能合计为相当数量的存储量。
因此,需要这样一种探测器,其可以在运行期间被安装到测试下的软件中,而在编译期间不被安装到测试下的软件中,从而可以根据需要来引入或去除探测器,并且仅被安装时的探测器消耗存储量。
发明内容
本发明提供了一种测试其中具有多个软件模块的软件的方法。该方法包括以下步骤:执行所述软件,该软件包括由该软件使用的多个软件模块,并且确定多个软件模块中彼此直接链接的两个软件模块。在执行所述软件时,在两个确定出的软件模块之间插入探测器。所述探测器将在确定出的所述两个软件模块之间交换的数据输出给测试系统,从而从所述软件中提取数据。
根据本发明的另一种实施方式,提供了一种用于测试软件的系统,该系统包括:测试下的软件,该软件中具有多个软件模块;至少一个应用程序,该至少一个应用程序耦合到所述测试下的软件;以及测试器单元,用于控制所述至少一个应用程序,以使得将测试器单元配置为使所述至少一个应用程序执行所述测试下的软件,该测试下的软件包括由该测试下的软件使用的任意软件模块。该测试器单元还配置为确定由所述测试下的软件使用的软件模块中彼此直接通信的两个软件模块,当执行所述测试下的软件时,在两个确定出的软件模块之间插入探测器,并经由所述探测器输出在确定出的所述两个软件模块之间交换的数据,从而从所述测试下的软件中提取数据。
根据本发明的再一种实施方式,提供了一种测试其中具有多个软件模块的软件的方法,该方法包括以下步骤:在执行软件时,请求用于该软件的探测器,并且从组件管理器获得到所述探测器的句柄;确定待测试的多个软件模块中的两个软件模块,这两个确定出的软件模块彼此直接链接;以及将所述探测器的句柄插入确定出的所述两个软件模块之间。
根据本发明的另一种实施方式,提供了一种用于测试其中具有多个数据变量和函数自变量的软件的装置。所述装置包括:中央处理单元和连接到该中央处理单元的存储单元。该存储单元存储有的计算机可读指令,该计算机可读指令用于指示所述中央处理单元去执行所述软件并确定由所述软件使用的变量或自变量中的至少一个的地址位置。该存储单元还存储有这样的计算机可读指令,该计算机可读指令用于指示所述中央处理单元在所述地址位置处动态地插入探测器,以及将存储在所述地址位置中的任意数据输出到所述中央处理单元,从而监控所述数据。
根据本发明的再一种实施方式,提供了一种测试下的装置。该测试下的装置包括:以软件链链接起来的多个软件模块,以及耦合到这些软件模块并且用于管理这些软件模块的组件管理器。在使用期间将所述软件模块适配为分离的并且对所述软件模块进行重新排列,以使得在所述软件运行期间,将探测器插入在所述多个软件模块中的两个之间。
根据本发明的另一种实施方式,提供了一种测试其中具有多个软件模块的软件的方法。该方法包括以下步骤:创建软件探测器并接收探测器标识符,该探测器标识符识别所述软件探测器。测试器被指示为在多个软件模块中插入或去除所述软件探测器。此外,接收已插入或去除所述软件探测器的确认。
根据再一种实施方式,提供了一种测试其中具有多个软件模块的软件的方法。该方法包括以下步骤:获得到探测器的句柄并将探测器标识符设置于探测器数据库中。将探测器标识符返回到个人计算机。接收在所述多个软件模块中插入或去所述除探测器的指令并对所述多个软件模块进行重新布置。确认所述多个软件模块中的探测器的状态,以及将确认所述探测器设置的消息发送给所述个人计算机。
附图说明
结合附图,参考以下详细描述可以更好地理解本发明,其中:
图1a例示了根据本发明实施方式的示例性软件测试环境;
图1b例示了插入在图1a的软件模块之间的动态探测器的示意图;
图1c例示了在图1a的软件模块之间不插入探测器的情况下的软件模块的示意图;
图2例示了用于实现根据本发明实施方式的动态软件探测器的方法;以及
图3例示了其中可以实现根据本发明实施方式的双向软件探测器的示例性系统。
具体实施方式
如上所述,现有的单向和双向探测器缺乏灵活性,在测试下的软件(SUT)的编译时刻期间需要确定探测器。否则,引入探测器的唯一方式是重新“建立”整个SUT。并且,即使各探测器不工作,其还是会消耗少量的存储量,并且假使存在多个需要使用的探测器,则可能由此合计为相当大量的存储量。
本发明的实施方式提供了一种利用动态探测器测试软件的方法和系统。不必在软件编译期间插入本发明的探测器,而是改为能够在软件运行期间插入该探测器。在运行期间将探测器引入SUT具有几个优点,该优点包括可以只插入实际需要的那些探测器,从而减少了浩大存储量和CPU周期(CPU cycle)的使用。此外,可以将探测器实质引入SUT中存在通信链(COM链)的任何位置。动态探测器因此极大地提高了SUT测试和调试的灵活性。此外,探测器是双向的,这意味着该探测器允许数据从SUT流向测试系统,并且允许数据从测试系统流向SUT。
在优选实施方式中,探测的软件也是动态的,即,该软件可以在运行期间链接到其他已有的软件模块。动态链接允许在运行期间将整个软件模块的链连接在一起或者说被“建立”。
在平台内,使用链接机制来进行软件模块的链接。其他类似链接机制例如包括Microsoft COM和其他专用COM系统。当这些链接机制使用一类控制软件来处理实际链接时,在平台顶部运行的客户应用程序指示链接的特定软件模块和对软件模块进行链接的顺序。如果用户想要改变对软件模块进行链接的方式,则他或她必须通过平台上方的应用程序来进行该操作。因此,控制软件必须通过平台将该功能性输出到客户应用程序。
根据本发明的实施方式,可以“破坏”对数据流进行操作的软件模块链,在软件模块之间引入动态测试和验证平台(TVP)探测器。如这里使用的,术语“链接”和“链”是指软件模块交换数据以及以其他方式彼此通信的能力。为了创建动态探测器,客户应用程序在个人计算机(PC)上利用TVP数据库创建动态探测器,该TVP数据库返回唯一ID。然后TVP数据库向组件管理器请求到动态探测器的句柄(handle)或链接。客户PC应用程序接着指示所述TVP以指示所述控制软件重新布置软件模块链,以使得动态探测器成为位于期望位置处的链的一部分。一旦处于适当位置,测试系统就以与上述静态探测器相同的方式处理动态探测器。随后,测试系统的用户可以向新动态探测器中注入数据或从该新动态探测器中提取数据。如果要去除动态探测器,则反过来执行上述程序。
在一些实施方式中,软件模块可能具有动态探测器未知的接口。因此,如以下进一步说明的,为了在这样的软件模块之间引入动态探测器,优选地是,将动态探测器的接口设计为通用接口。然后将数据的解释留给正在PC上运行的客户应用程序。
首先参考图1a,图1a示出了其中可以使用本发明的动态探测技术的软件测试系统100。通过至少一个软件动态探测器104将软件测试系统100连接到SUT 102。该至少一个软件动态探测器104可以由其唯一探测器ID标识,例如,PID1、PID2、PID3等。以下将参考图2对探测器ID的生成进行更详细地描述。
动态探测器104连接到测试和验证平台(TVP)106(其可以是本领域技术人员已知的专用TVP或标准TVP)。TVP 106接着耦合到其他测试模块,例如但不限于调试复用器(debug mux)108。调试复用器108接着连接到个人计算机(PC)110。调试复用器108从PC 110接收所有通信,并将该通信传递给TVP 106。PC 110对整个测试进行控制。
SUT 102包括多个单独软件模块,在图1中示出了其中四个软件模块102a、102b、102c、102d。这些软件模块102a、102b、102c、102d包括多个数据变量和函数自变量,例如但不限于编码器、均衡器、一般过滤器等。软件模块102a、102b、102c、102d必须能够彼此动态链接。换句话说,在编译期间能够操纵软件模块102a、102b、102c和102d。这允许在运行期间对软件模块102a、102b、102c、102d的链进行分裂。
动态探测器104能够动态设置于这些软件模块102a、102b、102c和102d的任意两个之间。动态设置动态探测器104意味着可以在软件102的运行期间而不是编译期间在软件模块102a、102b、102c和102d之间插入动态探测器104。也可以在运行期间去除动态探测器104。通过允许在运行期间设置和去除动态探测器104,不需要无关探测器,从而节约了存储空间。
在一些实施方式中,可以利用具有多个参数的接口在软件模块之间插入动态探测器104。对这些模块,动态探测器104优选地具有通用接口。通用接口是只需要如下两个参数的接口:数据长度和到该数据的指针。诸如比特率和采样频率的其他参数可以被隐藏在数据中。探测器不需要具有这些其他、更具体的参数。
优选地是,将通用接口设计为:至少允许从软件模块102a、102b、102c和102d提取数据或对其注入数据。通用接口优选地还包括探测器ID和到注入到软件模块102a、102b、102c和102d中或从软件模块102a、102b、102c和102d中提取的数据的指针。通用接口优选地还包括方便创建和删除探测器104的方式。
现在参考图1b,提供在软件模块102a与软件模块102b之间插入动态探测器104的例示。如所例示的,探测器104被插入两个软件模块102a与102b之间,并与TVP 106通信。如以上结合图1a所述,TVP 106此外还耦合到调试复用器108。调试复用器108此外还耦合到PC 110。
图1c例示了去除了探测器104的软件模块102a、102b。如所示出的,软件模块102a、102b彼此耦合。
现在参考图2,描述根据本发明的一种实施方式的用于登记动态探测器的方法。如所示出的,PC110利用TVP 106创建探测器(步骤202)。接着TVP 106与组件管理器118通信,以获得到探测器接口的句柄(步骤204)。接着组件管理器118将句柄发送到TVP 106(步骤206),接着该TVP 106将TVP探测器104设置于数据库中(步骤207)。在步骤208,TVP 106然后将探测器ID返回到PC 110。
PC 110接着在步骤210将关于是否应当在软件链中插入或去除探测器的指令发送到TVP 106。TVP 106接着将该指令转发给重新布置软件链的控制软件116(步骤212)。控制软件116在步骤214确认该探测器已位于软件链中(或者已去除)。在步骤216,TVP 106接着关于设置(或去除)探测器与PC 110进行通信。
可以在任何测试系统中实施本发明的动态探测技术。图3示出了用于实施动态探测技术的示例性测试系统300。测试系统300包括测试器302和测试下的装置304,二者可以彼此通信。测试器302是具有多个功能组件的典型计算机,包括CPU 306、输入/输出接口单元308和存储单元310。这些组件是计算机领域技术人员已公知的,因此在这里仅对其简要描述。CPU 306处理在测试器302上的所有软件程序的执行,包括其上运行的操作系统和任意软件。接口单元308用来将测试器302连接到测试下的装置304,以及与该测试器302连接的任意输入/输出装置(例如,键盘、鼠标、显示单元、打印机等)。存储单元310提供用于执行在测试器302上运行的操作系统和软件所需要的任何软件程序和/或数据的临时存储器(例如,RAM)和/或长期存储器(例如,硬盘)。
在存储单元310中存储有多个软件应用程序,包括软件开发工具312。软件开发工具312以与现有软件开发工具(例如,来自TexasInstruments的Code Composer StudioTM和来自National Instruments的LabVIEWTM,或其他类似软件开发工具)相同的方式运行,并具有很多与现有软件开发工具相同的特征。然而,根据本发明的实施方式,软件开发工具312还包括测试和验证平台(TVP)314。TVP 314能够利用软件开发工具312来对正在测试的任何软件的双向探测进行控制,并分析探测到的数据。具体地说,TVP 314允许根据用户的决定从测试下的代码中捕获数据、向测试下的代码中注入数据或者同时执行前述二者。探测器控制和分析模块314也允许用户根据获得的数据生成测试向量,并将测试向量注入回测试下的代码。这使得用户更容易更方便地对测试下的代码的运行和可靠性进行监控和测试。
在本实施方式中,在单独单元(即,与测试器302通信的测试下的装置304)上执行包括动态探测指令的测试下的代码。像测试器302一样,测试下的装置304是具有多个功能组件的典型计算机,包括CPU 316、输入/输出接口单元318和存储单元320。测试下的装置304的组件在功能上与测试器302中的对应部分类似,因此这里不进行描述。要点在于与测试器302分离地存储并执行测试下的代码322,该测试下的代码322包括探测的源代码和动态探测器指令和实施(参见例如探测器指令的以上源代码的示例块)。
上述方法允许实时插入探测器,这给进行测试的人员带来了灵活性,从而在需要时插入探测器。此外,因为探测器是可去除的,所以可以通过去除不工作的探测器或在探测器已进行预期测试之后去除探测器来节省存储器。
应当强调的是,在本说明书中使用的术语包括(comprises/comprising)被用来说明所述的特征、整件、步骤或组件的存在,但不排除存在或附加一个或多个其他特征、整件、步骤、组件或其组合。
尽管已例示并描述了本发明的应用和具体实施方式,但是应当理解的是,本发明不限于这里公开的确切构造和组成,在不脱离所附权利要求所限定的本发明的范围的情况下可以对前述内容进行修改和变型。
Claims (25)
1、一种测试其中具有多个软件模块的软件的方法,该方法包括以下步骤:
执行所述软件,该软件包括由该软件使用的多个软件模块;
确定所述多个软件模块中彼此直接链接的两个软件模块;
在执行所述软件时,在所确定出的所述两个软件模块之间插入探测器;以及
经由所述探测器向测试系统输出在所确定出的所述两个软件模块之间交换的数据,从而从所述软件中提取数据。
2、根据权利要求1所述的方法,所述方法还包括在执行所述软件时去除位于所确定出的所述两个软件模块之间的探测器。
3、根据权利要求1所述的方法,其中所述探测器包括唯一的探测器标识符。
4、根据权利要求3所述的方法,其中在软件测试之前将所述唯一的探测器标识符分配给所述探测器,并将该唯一的探测器标识符存储在探测器数据库中。
5、根据权利要求3所述的方法,其中所述唯一的探测器标识符是在软件测试期间创建的。
6、根据权利要求3所述的方法,其中将所述唯一的探测器标识符存储在探测器数据库中。
7、根据权利要求1所述的方法,所述方法还包括经由所述探测器使用来自所述测试系统的数据替换要在所确定出的所述两个软件模块之间交换的数据,从而将数据注入所述软件。
8、根据权利要求1所述的方法,其中所述探测器包括通用接口,该通用接口允许所述探测器仅利用数据长度和到该数据的指针从软件模块中提取数据以及向软件模块中注入数据。
9、根据权利要求1所述的方法,所述方法还包括在执行所述软件时将所述多个软件模块链接到一起。
10、一种用于测试软件的系统,该系统包括:
测试下的软件,该软件中具有多个软件模块;
至少一个应用程序,该至少一个应用程序耦合到所述测试下的软件;以及
测试器单元,用于控制所述至少一个应用程序,所述测试器单元被配置为使所述至少一个应用程序:
执行所述测试下的软件,该测试下的软件包括由该测试下的软件使用的任意软件模块;
确定由所述测试下的软件使用的软件模块中彼此直接通信的两个软件模块;
当执行所述测试下的软件时,在所确定出的所述两个软件模块之间插入探测器;以及
经由所述探测器输出在所确定出的所述两个软件模块之间交换的数据,从而从所述测试下的软件中提取数据。
11、根据权利要求10所述的系统,其中所述测试器被进一步配置为当执行所述测试下的软件时,使所述至少一个应用程序从所确定出的所述两个软件模块之间去除所述探测器。
12、根据权利要求10所述的系统,其中所述测试器被进一步配置为经由所述探测器使所述至少一个应用程序替换所确定出的所述两个软件模块之间交换的数据,从而将数据注入所述测试下的软件。
13、根据权利要求10所述的系统,其中所述测试器单元包括用于控制所述至少一个应用程序的测试和验证平台。
14、根据权利要求10所述的系统,其中所述至少一个应用程序在PC上运行。
15、一种测试其中具有多个软件模块的软件的方法,该方法包括以下步骤:
在执行软件时,请求用于该软件的探测器;
从组件管理器获得到所述探测器的句柄;
确定待测试的所述多个软件模块中的两个软件模块,该所确定出的两个软件模块彼此直接链接;以及
将所述探测器的句柄插入所确定出的所述两个软件模块之间。
16、根据权利要求15所述的方法,所述方法还包括监控经由所述探测器从所述软件中提取的数据。
17、根据权利要求15所述的方法,所述方法还包括在执行所述软件时,从所确定出的所述两个软件模块之间去除所述探测器的句柄。
18、根据权利要求15所述的方法,所述方法还包括在执行所述软件时,利用探测器数据库撤销对所述探测器的登记。
19、根据权利要求15所述的方法,其中在执行所述软件时,将所述两个软件模块链接到一起。
20、一种用于测试其中具有多个数据变量和函数自变量的软件的装置,所述装置包括:
中央处理单元;
连接到该中央处理单元的存储单元,该存储单元存储用于指示所述中央处理单元进行以下操作的计算机可读指令:
执行所述软件;
确定由所述软件使用的变量或自变量中的至少一个的地址位置;
在所述地址位置处动态地插入探测器;以及
将存储在所述地址位置中的任意数据输出到所述中央处理单元,从而监控所述数据。
21、根据权利要求20所述的装置,其中所述存储单元还存储有计算机可读指令,该计算机可读指令用于指示所述中央处理单元将来自所述中央处理单元的数据输入到所述地址位置,从而替换以前存储在所述地址位置中的任意数据。
22、一种测试下的装置,该装置包括:
以软件链链接的多个软件模块,以及
组件管理器,耦合到所述多个软件模块并且用于管理所述多个软件模块;
其中在使用期间将所述软件模块适配为分离的并且对所述软件模块进行重新排列,以使得在所述软件运行期间,将探测器插入在所述多个软件模块中的两个软件模块之间。
23、根据权利要求22所述的测试下的装置,其中还可以在软件运行期间从所述多个软件模块中的两个软件模块之间去除所述探测器。
24、一种测试其中具有多个软件模块的软件的方法,该方法包括以下步骤:
创建软件探测器;
接收探测器标识符,该探测器标识符识别所述软件探测器;
指示测试器在所述多个软件模块中插入或去除所述软件探测器;以及
接收已插入或去除所述软件探测器的确认。
25、一种测试其中具有多个软件模块的软件的方法,该方法包括以下步骤:
获得到探测器的句柄;
将探测器标识符设置于探测器数据库中;
将探测器标识符返回个人计算机;
接收在所述多个软件模块中插入或去所述除探测器的指令;
重新布置所述多个软件模块;
确认所述多个软件模块中的所述探测器的状态;以及
将确认所述探测器设置的消息发送给所述个人计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/234,846 | 2005-09-23 | ||
US11/234,846 US20070074175A1 (en) | 2005-09-23 | 2005-09-23 | Method and system for dynamic probes for injection and extraction of data for test and monitoring of software |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101268448A true CN101268448A (zh) | 2008-09-17 |
Family
ID=37864004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200680034911XA Pending CN101268448A (zh) | 2005-09-23 | 2006-09-22 | 用于针对软件测试和软件监控进行数据注入和数据提取的动态探测器的方法和系统 |
Country Status (11)
Country | Link |
---|---|
US (1) | US20070074175A1 (zh) |
EP (1) | EP1934750A2 (zh) |
JP (1) | JP2009509258A (zh) |
KR (1) | KR20080048035A (zh) |
CN (1) | CN101268448A (zh) |
BR (1) | BRPI0616112A2 (zh) |
CA (1) | CA2623832A1 (zh) |
RU (1) | RU2008115930A (zh) |
TW (1) | TW200741450A (zh) |
WO (1) | WO2007039486A2 (zh) |
ZA (1) | ZA200802491B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992408A (zh) * | 2017-11-16 | 2018-05-04 | 南京轩世琪源软件科技有限公司 | 一种软件探测器的软件探测方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291399B2 (en) * | 2008-03-26 | 2012-10-16 | Avaya Inc. | Off-line program analysis and run-time instrumentation |
US8739145B2 (en) * | 2008-03-26 | 2014-05-27 | Avaya Inc. | Super nested block method to minimize coverage testing overhead |
US8752007B2 (en) * | 2008-03-26 | 2014-06-10 | Avaya Inc. | Automatic generation of run-time instrumenter |
US8484623B2 (en) * | 2008-03-26 | 2013-07-09 | Avaya, Inc. | Efficient program instrumentation |
KR101013516B1 (ko) * | 2008-07-25 | 2011-02-10 | (주)인터넷커머스코리아 | 윈도우 응용 프로그램의 자동 테스트를 위한 이벤트 기록및 재생 방법, 및 이벤트 기록 및 재생 프로그램을 기록한컴퓨터로 판독 가능한 기록매체 |
US9645912B2 (en) * | 2008-12-01 | 2017-05-09 | Microsoft Technology Licensing, Llc | In-place function modification |
US9354996B2 (en) | 2010-06-28 | 2016-05-31 | Hyundai Motor Company | System test apparatus |
AU2012204292B2 (en) * | 2011-01-07 | 2016-05-19 | Ab Initio Technology Llc | Flow analysis instrumentation |
US8719799B2 (en) * | 2011-03-07 | 2014-05-06 | International Business Machines Corporation | Measuring coupling between coverage tasks and use thereof |
US8719789B2 (en) * | 2011-03-07 | 2014-05-06 | International Business Machines Corporation | Measuring coupling between coverage tasks and use thereof |
KR101459868B1 (ko) * | 2011-03-15 | 2014-11-12 | 현대자동차주식회사 | 통신 테스트 장치 및 방법 |
CN103003800B (zh) * | 2011-05-09 | 2016-02-10 | 现代自动车株式会社 | 异常处理测试装置和方法 |
CN104081359B (zh) * | 2012-01-31 | 2017-05-03 | 惠普发展公司,有限责任合伙企业 | 失败代码变化的识别 |
KR101438979B1 (ko) * | 2012-12-31 | 2014-09-11 | 현대자동차주식회사 | 소프트웨어 검사 방법 및 시스템 |
CN103984632B (zh) * | 2014-05-29 | 2016-08-24 | 东南大学 | 一种基于错误传播分析的sdc脆弱指令识别方法 |
US9880818B2 (en) | 2014-11-05 | 2018-01-30 | Ab Initio Technology Llc | Application testing |
US10255166B2 (en) * | 2015-03-05 | 2019-04-09 | Fujitsu Limited | Determination of valid input sequences for an unknown binary program |
US10936289B2 (en) | 2016-06-03 | 2021-03-02 | Ab Initio Technology Llc | Format-specific data processing operations |
EP3497574A4 (en) | 2016-08-09 | 2020-05-13 | Sealights Technologies Ltd. | SYSTEM AND METHOD FOR THE CONTINUOUS EXAMINATION AND PROVISION OF SOFTWARE |
TWI655535B (zh) * | 2017-11-15 | 2019-04-01 | 兆豐國際商業銀行股份有限公司 | 程式異動管理系統及程式異動管理方法 |
US11086759B2 (en) | 2018-09-27 | 2021-08-10 | SeaLights Technologies LTD | System and method for probe injection for code coverage |
US11573885B1 (en) | 2019-09-26 | 2023-02-07 | SeaLights Technologies LTD | System and method for test selection according to test impact analytics |
CN114780958B (zh) * | 2022-04-14 | 2023-03-24 | 深圳开源互联网安全技术有限公司 | 一种埋点自动插桩方法、装置及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4802165A (en) * | 1986-10-08 | 1989-01-31 | Enteleki, Inc. | Method and apparatus of debugging computer programs |
US6351843B1 (en) * | 1998-08-31 | 2002-02-26 | International Business Machines Corporation | Dynamically inserting a function into an application executable at runtime |
US8020148B2 (en) * | 2002-09-23 | 2011-09-13 | Telefonaktiebolaget L M Ericsson (Publ) | Bi-directional probing and testing of software |
US20040154001A1 (en) * | 2003-02-05 | 2004-08-05 | Haghighat Mohammad R. | Profile-guided regression testing |
-
2005
- 2005-09-23 US US11/234,846 patent/US20070074175A1/en not_active Abandoned
-
2006
- 2006-09-22 TW TW095135122A patent/TW200741450A/zh unknown
- 2006-09-22 KR KR1020087006759A patent/KR20080048035A/ko not_active Application Discontinuation
- 2006-09-22 ZA ZA200802491A patent/ZA200802491B/xx unknown
- 2006-09-22 RU RU2008115930/09A patent/RU2008115930A/ru not_active Application Discontinuation
- 2006-09-22 CN CNA200680034911XA patent/CN101268448A/zh active Pending
- 2006-09-22 JP JP2008531706A patent/JP2009509258A/ja not_active Withdrawn
- 2006-09-22 EP EP06793740A patent/EP1934750A2/en not_active Withdrawn
- 2006-09-22 WO PCT/EP2006/066620 patent/WO2007039486A2/en active Application Filing
- 2006-09-22 CA CA002623832A patent/CA2623832A1/en not_active Abandoned
- 2006-09-22 BR BRPI0616112-0A patent/BRPI0616112A2/pt not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992408A (zh) * | 2017-11-16 | 2018-05-04 | 南京轩世琪源软件科技有限公司 | 一种软件探测器的软件探测方法 |
CN107992408B (zh) * | 2017-11-16 | 2019-06-07 | 广东马上到网络科技有限公司 | 一种软件探测器的软件探测方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2008115930A (ru) | 2009-10-27 |
WO2007039486A3 (en) | 2007-07-26 |
TW200741450A (en) | 2007-11-01 |
WO2007039486A2 (en) | 2007-04-12 |
CA2623832A1 (en) | 2007-04-12 |
BRPI0616112A2 (pt) | 2012-12-18 |
JP2009509258A (ja) | 2009-03-05 |
ZA200802491B (en) | 2009-09-30 |
EP1934750A2 (en) | 2008-06-25 |
US20070074175A1 (en) | 2007-03-29 |
KR20080048035A (ko) | 2008-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101268448A (zh) | 用于针对软件测试和软件监控进行数据注入和数据提取的动态探测器的方法和系统 | |
Papadakis et al. | Trivial compiler equivalence: A large scale empirical study of a simple, fast and effective equivalent mutant detection technique | |
Hemmati | How effective are code coverage criteria? | |
US20110145653A1 (en) | Method and system for testing complex machine control software | |
US20050028146A1 (en) | Systems and methods for software and firmware testing using checkpoint signatures | |
CN101617296B (zh) | 用于测试和监测软件的动态探测认证方法及系统 | |
US20110271256A1 (en) | Bi-directional probing of software | |
CN106126417A (zh) | 交互式应用程序安全测试方法及其系统 | |
Ojdanic et al. | Mutation testing in evolving systems: Studying the relevance of mutants to code evolution | |
Eldh et al. | Component testing is not enough-a study of software faults in telecom middleware | |
CN111767232B (zh) | 一种装备测试程序集验证系统 | |
US20060074625A1 (en) | Program development suport device, program execution device, compile method and debug method | |
CN112685316A (zh) | 代码执行路径的获取方法、装置、计算机设备及存储介质 | |
Jahangirova et al. | An empirical study on failed error propagation in Java programs with real faults | |
Hammoudi et al. | A traceability dataset for open source systems | |
Ribeiro Rocha et al. | A strategy to improve component testability without source code | |
Doyle et al. | IBIS: an Interactive Bytecode Inspection System, using symbolic execution and constraint logic programming | |
CN110362463A (zh) | 一种自动挑选测试用例进行回归测试的方法和装置 | |
Mahmud et al. | APICIA: An API Change Impact Analyzer for Android Apps | |
Creuse et al. | Automatic Test Value Generation for Ada | |
Prabhu et al. | Analysis of Testing in Software Project Environment | |
Hiller | A tool for examining the behavior of faults and errors in software | |
Tiwari et al. | PROZE: Generating Parameterized Unit Tests Informed by Runtime Data | |
Freitas et al. | Sequence Mining for Automatic Generation of Software Tests from GUI Event Traces | |
CN117520167A (zh) | 一种计算分析程序的自动化测试装置及运行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1120628 Country of ref document: HK |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080917 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1120628 Country of ref document: HK |