Conformance testing of multi-threaded and distributed software systems
    2.
    发明授权
    Conformance testing of multi-threaded and distributed software systems 有权
    多线程和分布式软件系统的一致性测试

    公开(公告)号:US07747985B2

    公开(公告)日:2010-06-29

    申请号:US11085624

    申请日:2005-03-18

    IPC分类号: G06F9/44

    CPC分类号: G06F11/36

    摘要: Techniques and tools for testing multi-threaded or distributed software systems are described. For example, a multi-threaded system is instrumented and executed to produce logs of events that are performed by each of its agents. The agent logs contain a totally ordered series of events per agent, as well as information about accesses to resources shared between the agents. With this information, a partial ordering of the events performed by all the agents is described for the execution. The agent logs are then multiplexed into one or more serialized event orderings, which can then be compared to a specification of the system in a conformance testing engine.

    摘要翻译: 描述了用于测试多线程或分布式软件系统的技术和工具。 例如,多线程系统被检测和执行以产生由其每个代理执行的事件的日志。 代理日志包含每个代理的完全有序的事件序列,以及有关访问代理之间共享的资源的信息。 利用该信息,描述所有代理执行的事件的部分排序用于执行。 代理日志然后被复用到一个或多个序列化的事件顺序中,然后可以将其与在一致性测试引擎中的系统的规范进行比较。

    Generating finite state machines for software systems with asynchronous callbacks
    3.
    发明授权
    Generating finite state machines for software systems with asynchronous callbacks 有权
    为具有异步回调的软件系统生成有限状态机

    公开(公告)号:US07500149B2

    公开(公告)日:2009-03-03

    申请号:US11097684

    申请日:2005-03-31

    IPC分类号: G06F11/00

    CPC分类号: G06F11/3672

    摘要: Techniques and tools for generating finite state machines (“FSMs”) for a software system with asynchronous callbacks are described. For example, method invocations in a model of the software system are partitioned into observable and controlled method invocations. The controlled method invocations are those which can be run from a test harness while the observed method invocations are those which are observed asynchronously as they are invoked in the system. An FSM is created with observation and control nodes such that observable transitions are found from observation nodes and controlled transitions are found from control nodes. If a state of the model contains both controlled and observable invocations, a timeout transition is added to the FSM to give an implementation time to come up with an observed method invocation before continuing to controlled invocations.

    摘要翻译: 描述了用于为具有异步回调的软件系统生成有限状态机(“FSM”)的技术和工具。 例如,软件系统模型中的方法调用被划分为可观察和受控的方法调用。 受控方法调用是可以从测试工具运行的方法调用,而观察到的方法调用是在系统中调用时异步观察的方法调用。 创建具有观察和控制节点的FSM,使得从观察节点找到可观察的转变,并且从控制节点找到受控的转变。 如果模型的状态包含受控和可观察的调用,则会向FSM添加一个超时转换,以便在继续控制调用之前给出一个实现时间来提供观察到的方法调用。

    Conformance testing of multi-threaded and distributed software systems
    5.
    发明申请
    Conformance testing of multi-threaded and distributed software systems 有权
    多线程和分布式软件系统的一致性测试

    公开(公告)号:US20060212759A1

    公开(公告)日:2006-09-21

    申请号:US11085624

    申请日:2005-03-18

    IPC分类号: G06F11/00

    CPC分类号: G06F11/36

    摘要: Techniques and tools for testing multi-threaded or distributed software systems are described. For example, a multi-threaded system is instrumented and executed to produce logs of events that are performed by each of its agents. The agent logs contain a totally ordered series of events per agent, as well as information about accesses to resources shared between the agents. With this information, a partial ordering of the events performed by all the agents is described for the execution. The agent logs are then multiplexed into one or more serialized event orderings, which can then be compared to a specification of the system in a conformance testing engine.

    摘要翻译: 描述了用于测试多线程或分布式软件系统的技术和工具。 例如,多线程系统被检测和执行以产生由其每个代理执行的事件的日志。 代理日志包含每个代理的完全有序的事件序列,以及有关访问代理之间共享的资源的信息。 利用该信息,描述所有代理执行的事件的部分排序用于执行。 代理日志然后被复用到一个或多个序列化的事件顺序中,然后可以将其与在一致性测试引擎中的系统的规范进行比较。

    Tool-based iterative document management
    7.
    发明授权
    Tool-based iterative document management 有权
    基于工具的迭代文档管理

    公开(公告)号:US07337388B2

    公开(公告)日:2008-02-26

    申请号:US10336222

    申请日:2003-01-02

    摘要: A change management method and system for tool-based document generation which incorporates tool input changes, tool changes, and user changes during iterative document creation. After a tool-based document is generated and saved by a tool, and then edited by a user, during a next iteration of creating the edited document, the tool first generates a new base document. The base document is then saved, and a three-way merge is performed on the former iteration's base document, this iteration's new base document, and the former iteration's edited document. The former iteration's base document serves as the base of the merge process. The merge outputs a merged document, and when further edits are needed, the merged document is edited, and saved as the edited document. If no edits are necessary, the merged document is saved directly as the edited document. In each iteration, the new base document and the edited document are saved for a possible next iteration.

    摘要翻译: 一种用于基于工具的文档生成的变更管理方法和系统,其中包含了在迭代文档创建过程中的工具输入更改,工具更改和用户更改。 基于工具的文档由工具生成并保存,然后由用户进行编辑时,在创建编辑文档的下一次迭代期间,该工具首先生成新的基础文档。 然后保存基本文档,并对前一个迭代的基本文档,该迭代的新基础文档和前一个迭代的编辑文档执行三向合并。 前一个迭代的基本文档作为合并过程的基础。 合并输出合并的文档,当需要进一步编辑时,合并的文档将被编辑,并保存为已编辑的文档。 如果不需要编辑,则合并的文档将直接保存为已编辑的文档。 在每次迭代中,保存新的基本文档和编辑的文档以进行下一次迭代。

    Conformance execution of non-deterministic specifications for components
    8.
    发明授权
    Conformance execution of non-deterministic specifications for components 有权
    组件的非确定性规范的一致性执行

    公开(公告)号:US07216338B2

    公开(公告)日:2007-05-08

    申请号:US10081329

    申请日:2002-02-20

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F11/3672

    摘要: To perform conformance checking of a software implementation with a (possibly non-deterministic) specification, a software implementation and a software specification are applied to produce a CT enabled implementation. Nondeterministic choices of the software specification result in assigning a corresponding choice of the CT enabled implementation to a variable. The CT enabled implementation includes a test that the variable then comprises one of the nondeterministic choices of the software specification. To perform conformance testing where the software specification includes ordered steps, and calls to methods of other classes (mandatory calls), a software object is produced and organized such that each step of the software specification has a corresponding code section in the software object. The software object includes instructions to generate an identification of a mandatory call comprised by the software specification, and instructions to test that the state of the implementation conforms to the software specification during the mandatory call.

    摘要翻译: 为了执行具有(可能非确定性)规范的软件实现的一致性检查,应用软件实现和软件规范来产生支持CT的实现。 软件规范的非确定性选择导致将CT启用的实现的相应选择分配给变量。 CT启用的实现包括测试,该变量然后包括软件规范的非确定性选择之一。 为了执行一致性测试,其中软件规范包括有序步骤,并且调用其他类(强制调用)的方法,生成和组织软件对象,使得软件规范的每个步骤在软件对象中具有对应的代码部分。 软件对象包括用于生成由软件规范组成的强制呼叫的标识的指令,以及在强制呼叫期间测试实现状态符合软件规范的指令。

    CONTRACT PROGRAMMING FOR CODE ERROR REDUCTION
    9.
    发明申请
    CONTRACT PROGRAMMING FOR CODE ERROR REDUCTION 有权
    编码错误减少的合同编程

    公开(公告)号:US20090164973A1

    公开(公告)日:2009-06-25

    申请号:US11963346

    申请日:2007-12-21

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/41 G06F8/51

    摘要: In one embodiment, a computer system provides an application programming interface (API) for augmenting an application API. A computer system receives software code written in a second programming language indicating a user's intention to augment an application API with contracts from a contract API written in a first programming language. The software code includes a reference to the contract API. The contracts include assertions indicating appropriate use of the application API. The computer system accesses portions of the contract API according to the reference in the software code and compiles the received software code and the referenced portions of the contract API into an intermediate language (IL) version of the software code. The IL version is in an intermediate language common to both the first programming language and the second programming language. The IL version includes the assertions indicating appropriate use of the application API.

    摘要翻译: 在一个实施例中,计算机系统提供用于增加应用API的应用编程接口(API)。 计算机系统接收以第二编程语言编写的软件代码,其指示用户使用以第一编程语言编写的合同API的契约来增加应用API的意图。 软件代码包括对合同API的引用。 合同包括指示适当使用应用程序API的断言。 计算机系统根据软件代码中的参考来访问合同API的部分,并将接收到的软件代码和合同API的参考部分编译成软件代码的中间语言(IL)版本。 IL版本是与第一种编程语言和第二种编程语言相同的中间语言。 IL版本包括指示适当使用应用程序API的断言。

    Contract programming for code error reduction
    10.
    发明授权
    Contract programming for code error reduction 有权
    用于代码错误减少的合同编程

    公开(公告)号:US08250524B2

    公开(公告)日:2012-08-21

    申请号:US11963346

    申请日:2007-12-21

    IPC分类号: G06F9/44

    CPC分类号: G06F8/41 G06F8/51

    摘要: In one embodiment, a computer system provides an application programming interface (API) for augmenting an application API. A computer system receives software code written in a second programming language indicating a user's intention to augment an application API with contracts from a contract API written in a first programming language. The software code includes a reference to the contract API. The contracts include assertions indicating appropriate use of the application API. The computer system accesses portions of the contract API according to the reference in the software code and compiles the received software code and the referenced portions of the contract API into an intermediate language (IL) version of the software code. The IL version is in an intermediate language common to both the first programming language and the second programming language. The IL version includes the assertions indicating appropriate use of the application API.

    摘要翻译: 在一个实施例中,计算机系统提供用于增加应用API的应用编程接口(API)。 计算机系统接收以第二编程语言编写的软件代码,其指示用户使用以第一编程语言编写的合同API的契约来增加应用API的意图。 软件代码包括对合同API的引用。 合同包括指示适当使用应用程序API的断言。 计算机系统根据软件代码中的参考访问合同API的部分,并将接收的软件代码和合同API的引用部分编译成软件代码的中间语言(IL)版本。 IL版本是与第一种编程语言和第二种编程语言相同的中间语言。 IL版本包括指示适当使用应用程序API的断言。