Unit test generalization
    31.
    发明申请
    Unit test generalization 有权
    单元测试概括

    公开(公告)号:US20070033443A1

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

    申请号:US11323032

    申请日:2005-12-30

    IPC分类号: G06F11/00

    CPC分类号: G06F11/3684 G06F11/00

    摘要: A computer system provides a test program and one or more unit tests, such as a traditional unit test and or a parameterized unit test. The system also includes a constraint solver, a theorem prover, an implementation under test, a symbolic executor, a generalizor, and generated test cases. The generalizor receives a traditional unit tests as input, and modifies the traditional unit test into a parameterized unit test. The modification includes replacing plural concrete values in the traditional unit test with symbols, and exporting the symbols into a signature of the parameterized unit test. A symbolic executor identifies constraints while symbolically executing the created parameterized unit test of the implementation under test. A constraint solver and or theorem prover generates a set of test cases by solving for values that satisfy the series of constraints. The test program executes the automatically generated test cases.

    摘要翻译: 计算机系统提供测试程序和一个或多个单元测试,如传统单元测试和参数化单元测试。 该系统还包括一个约束求解器,一个定理证明器,一个被测试的实现,一个符号执行器,一个通用程序和生成的测试用例。 通用人员接受传统的单元测试作为输入,并将传统的单元测试修改为参数化单元测试。 修改包括用符号替换传统单元测试中的多个具体值,并将符号导出到参数化单元测试的签名中。 符号执行器在符号执行被测实施的参数化单元测试时识别约束。 约束求解器和/或定理证明器通过求解满足一系列约束的值来生成一组测试用例。 测试程序执行自动生成的测试用例。

    Efficient checking of state-dependent constraints
    32.
    发明申请
    Efficient checking of state-dependent constraints 有权
    有效检查状态依赖约束

    公开(公告)号:US20050198621A1

    公开(公告)日:2005-09-08

    申请号:US10792555

    申请日:2004-03-02

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3624

    摘要: Constraints are defined in view of a program implementation. Constraints check program state or variables to maintain data consistency. A constraint component determines a constraint's scope and variables upon which a constraint depends. Program flow is altered so constraints are checked whenever a variable upon which a constraint depends is updated. Optionally, program flow is altered dynamically to re-establish constraints whenever a variable upon which a constraint depends is updated. Re-establishing constraints provides efficiency, since a program flow is altered for a minimum cost based on a present evolving minimum set of active constraint-variable relationships.

    摘要翻译: 限制是根据程序实现而定义的。 约束检查程序状态或变量以保持数据的一致性。 约束组件确定约束所依赖的约束的范围和变量。 更改程序流程,只要更新约束所依赖的变量,就会检查约束。 可选地,当更新约束所依赖的变量时动态地改变程序流程以重新建立约束。 重新建立约束提供了效率,因为基于当前演变的最小主动约束变量关系集,程序流被改变为最小成本。

    State as a first-class citizen of an imperative language

    公开(公告)号:US08468505B2

    公开(公告)日:2013-06-18

    申请号:US12551345

    申请日:2009-08-31

    IPC分类号: G06F9/45

    CPC分类号: G06F9/463

    摘要: A state component saves a present state of a program or model. This state component can be invoked by the program or model itself, thereby making state a first-class citizen. As the state of the program evolves from the saved state, the saved state remains for reflection and recall, for example, for testing, verification, transaction processing, etc. Using a state reference token, the saved state of the program or model can be accessed by the program or model. For example, the program or model by utilizing a state component, can return itself to the saved state. After returning to the saved state, a second execution path can be introduced without requiring re-execution of the actions leading to the saved state. In another example, the state space of an executing model is saved in order to generate inputs required to exercise a program or model.

    Conformance testing of multi-threaded and distributed software systems
    34.
    发明授权
    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.

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

    Symbolic program model compositions
    36.
    发明申请
    Symbolic program model compositions 失效
    符号程序模型组成

    公开(公告)号:US20070168927A1

    公开(公告)日:2007-07-19

    申请号:US11322781

    申请日:2005-12-30

    IPC分类号: G06F9/44

    CPC分类号: G06F8/10 G06F11/3672

    摘要: A model composition environment can allow for description of fill or partial symbolic system behavior, as well as the combination of models of specific features into compound models. Compositional operators can include intersection, concatenation, substitution, alternating refinement, as well as a set of regular expression-like operators. Models called “action machines” can represent object-oriented, reactive programs, and an action machine may be composed with another action machine using a compositional operator. This can allow for testing of particular scenarios or behaviors.

    摘要翻译: 模型组合环境可以允许对填充或部分符号系统行为的描述,以及将特定特征的模型组合到复合模型中。 组合运算符可以包括交集,连接,替换,交替细化,以及一组正则表达式运算符。 称为“动作机器”的模型可以表示面向对象的,反应性的程序,并且动作机器可以由使用组合操作符的另一动作机构组成。 这可以允许测试特定的场景或行为。

    State exploration using multiple state groupings
    38.
    发明申请
    State exploration using multiple state groupings 有权
    国家勘探采用多国分组

    公开(公告)号:US20060161404A1

    公开(公告)日:2006-07-20

    申请号:US11040187

    申请日:2005-01-20

    IPC分类号: G06F17/10

    CPC分类号: G06F11/3688

    摘要: Exploration algorithms are relevant to the industrial practice of generating test cases from an abstract state machine whose runs define the predicted behavior of the software system under test. Here, a new exploration algorithm allows multiple state groupings to simultaneously guide the search for states that are interesting or relevant for testing. In some cases, the algorithm allows exploration to be optimized from exponential to linear complexity. An extended example is included that illustrates the use of the algorithm.

    摘要翻译: 探索算法与从运行定义被测软件系统的预测行为的抽象状态机生成测试用例的工业实践相关。 这里,新的探索算法允许多个状态分组同时引导搜索对于测试有趣或相关的状态。 在某些情况下,该算法允许探索从指数线性复杂度进行优化。 包括一个扩展示例,说明了算法的使用。

    Non-deterministic testing
    39.
    发明申请
    Non-deterministic testing 有权
    非确定性测试

    公开(公告)号:US20050160404A1

    公开(公告)日:2005-07-21

    申请号:US10758797

    申请日:2004-01-15

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3676

    摘要: A computerized method creates test coverage for non-deterministic programs. The method receives a graph of edges and states representing a program under test, and creates a continuous cycle of edges that reaches each edge in the graph at least once. In one example, the method splits the continuous cycle into discrete sequences that end at edges reaching non-deterministic nodes in the graph, and verifies that the executing program conforms to the behavior represented by the discrete sequences. In another example, a method creates probabilistic strategies for reaching one or more vertices in a non-deterministic graph. The strategies provide a graph path with a high probability of reaching a desired vertex.

    摘要翻译: 计算机化方法为非确定性程序创建测试覆盖。 该方法接收表示正在测试的程序的边和图的图形,并创建一个到图形中每个边缘的连续循环周期至少一次。 在一个示例中,该方法将连续循环分解成在图中到达非确定性节点的边缘处的离散序列,并验证执行程序是否符合由离散序列表示的行为。 在另一示例中,一种方法创建用于在非确定性图中达到一个或多个顶点的概率策略。 该策略提供了具有达到所需顶点的高概率的图形路径。

    State as a first-class citizen of an imperative language
    40.
    发明申请
    State as a first-class citizen of an imperative language 有权
    国家作为一种应急语言的一流公民

    公开(公告)号:US20050050536A1

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

    申请号:US10650245

    申请日:2003-08-27

    IPC分类号: G06F9/46 G06F9/44

    CPC分类号: G06F9/463

    摘要: A state component saves a present state of a program or model. This state component can be invoked by the program or model itself, thereby making state a first-class citizen. As the state of the program evolves from the saved state, the saved state remains for reflection and recall, for example, for testing, verification, transaction processing, etc. Using a state reference token, the saved state of the program or model can be accessed by the program or model. For example, the program or model by utilizing a state component, can return itself to the saved state. After returning to the saved state, a second execution path can be introduced without requiring re-execution of the actions leading to the saved state. In another example, the state space of an executing model is saved in order to generate inputs required to exercise a program or model.

    摘要翻译: 状态组件保存程序或模型的当前状态。 该状态组件可以由程序或模型本身调用,从而使状态成为一流的公民。 随着程序状态从保存状态的演变,保存的状态保留用于反射和调用,例如用于测试,验证,事务处理等。使用状态引用令牌,程序或模型的保存状态可以是 由程序或模型访问。 例如,通过利用状态组件的程序或模型可以将自身返回到保存的状态。 返回到保存状态后,可以引入第二个执行路径,而不需要重新执行导致保存状态的动作。 在另一示例中,保存执行模型的状态空间,以便生成锻炼程序或模型所需的输入。