-
公开(公告)号:US20060242466A1
公开(公告)日:2006-10-26
申请号:US11112282
申请日:2005-04-21
申请人: Nikolai Tillmann , Colin Campbell , Wolfgang Grieskamp , Lev Nachmanson , Wolfram Schulte , Margus Veanes
发明人: Nikolai Tillmann , Colin Campbell , Wolfgang Grieskamp , Lev Nachmanson , Wolfram Schulte , Margus Veanes
IPC分类号: G06F11/00
CPC分类号: G06F11/3684
摘要: Techniques and tools for generating test cases for methods or programs with input preconditions are described. For example, after finding feasible control flow paths for a tested method along with each path's associated input conditions, a new program is created which tests these conditions along with the precondition. By analyzing this new program's control flow graph, a class of test cases is found while avoiding inefficiencies created by doing complete searches of paths through the combined control flow graph of the precondition and the method. Additional efficiencies are introduced by partitioning a control flow graph for the precondition into branched and straight sections.
摘要翻译: 描述用于为具有输入前提条件的方法或程序生成测试用例的技术和工具。 例如,在为每个路径的相关输入条件找到可行的控制流路之后,创建一个与前提条件一起测试这些条件的新程序。 通过分析这个新程序的控制流图,发现了一类测试用例,同时避免了通过前提条件和方法的组合控制流程图完成对路径的搜索而产生的低效率。 通过将前提条件的控制流程图划分为分支和直线部分来引入额外的效率。
-
公开(公告)号:US20060224924A1
公开(公告)日:2006-10-05
申请号:US11097684
申请日:2005-03-31
申请人: Wolfgang Grieskamp , Colin Campbell , Lev Nachmanson , Margus Veanes , Michael Barnett , Nikolai Tillmann , Wolfram Schulte
发明人: Wolfgang Grieskamp , Colin Campbell , Lev Nachmanson , Margus Veanes , Michael Barnett , Nikolai Tillmann , Wolfram Schulte
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.
-
公开(公告)号:US20050050391A1
公开(公告)日:2005-03-03
申请号:US10650297
申请日:2003-08-27
IPC分类号: G06F11/00
CPC分类号: G06F11/3684
摘要: A test domain configuration module generates graphical user interfaces for identifying information about desired tests such as data types and domain configurations, and collects information used by other modules to generate tests. The identified information may include, for example, an abstract syntax, a static semantic, max counts on instances of data types, or costs of field accesses or data types for max path costs or max expression costs. A test input generator, generates test input for the identified and configured data types. In one case, the generated test inputs are generated as tree data structures. A predicate determines whether a generated test input follows semantic conditions. A test input evaluator counts instances of data types in, sums paths through, or sums total costs of, the generated test inputs. A test acceptance module saves test inputs acceptable to the predicate and the test input evaluator.
摘要翻译: 测试域配置模块生成用于识别有关所需测试(例如数据类型和域配置)的信息的图形用户界面,并收集其他模块使用的信息以生成测试。 所识别的信息可以包括例如抽象语法,数据类型的实例的静态语义,最大值,或用于最大路径成本或最大表达成本的字段访问或数据类型的成本。 测试输入生成器,为识别和配置的数据类型生成测试输入。 在一种情况下,生成的测试输入被生成为树数据结构。 谓词确定生成的测试输入是否遵循语义条件。 测试输入评估器对数据类型的实例进行计数,总和通过生成的测试输入,或总计生成的测试输入的总和。 测试验收模块可以保存对谓词和测试输入评估器可接受的测试输入。
-
公开(公告)号:US07661096B2
公开(公告)日:2010-02-09
申请号:US11045705
申请日:2005-01-28
IPC分类号: G06F9/45
CPC分类号: G06F9/4484
摘要: The subject invention pertains to systems and methods for iterating over or otherwise traversing a collection of objects or elements. More specifically, mechanisms are provided for handling both conventional non-nested streams such as enumeratables as well as nested streams. Nested streams provide a more efficient mechanism for traversing certain objects such as recursive generators. One problem with nested streams is that they need to be flattened or simplified. Techniques are provided herein to allow such streams to be flattened quickly and efficiently. Moreover, systems and methods are disclosed to preserve backward compatibility of optimized nested stream processing with conventional non-nested streams.
摘要翻译: 本发明涉及用于迭代或以其他方式遍历对象或元素的集合的系统和方法。 更具体地,提供了用于处理常规非嵌套流(诸如可枚举性)以及嵌套流的机制。 嵌套流为遍历某些对象(如递归生成器)提供了更有效的机制。 嵌套流的一个问题是它们需要被压缩或简化。 本文提供了技术以允许这样的流被快速和有效地平坦化。 此外,公开了系统和方法以保持优化的嵌套流处理与常规非嵌套流的向后兼容性。
-
45.
公开(公告)号:US20050216508A1
公开(公告)日:2005-09-29
申请号:US10809171
申请日:2004-03-25
CPC分类号: G06F9/4493
摘要: The present invention provides systems and methods that isomorphically maps constructs between domain spaces (e.g., object, markup, relational and user interface domains). The systems and methods employ a mapping component that utilizes at least one suppress label(s), introduce label(s) and/or mediating schema to facilitate construct mapping. Examples of such mapping include transforming a named construct to an anonymous construct, a named construct to a named construct, an anonymous construct to a named construct, and an anonymous construct to an anonymous construct. In general, introduce labels can be utilized to provide names for anonymous constructs and/or modify existing names; suppress labels typically are utilized to suppress names such as introduced names or names a user desires to be suppressed; and mediating schema can be utilized to provide a default or user customized mapping to an intermediate schema before, during and/or after construct mapping.
摘要翻译: 本发明提供了在域空间(例如,对象,标记,关系和用户界面域)之间同构地映射构造的系统和方法。 系统和方法使用利用至少一个抑制标签,引入标签和/或中介模式以便于构建映射的映射组件。 这种映射的示例包括将命名结构转换为匿名结构,命名结构到命名结构,命名结构的匿名结构以及匿名构造的匿名结构。 通常,引入标签可以用于为匿名构造提供名称和/或修改现有名称; 抑制标签通常用于抑制用户希望被抑制的名称,例如引入的名称或名称; 并且可以使用中介模式来在构造映射之前,期间和/或之后提供对中间模式的默认或用户定制映射。
-
公开(公告)号:US08112740B2
公开(公告)日:2012-02-07
申请号:US12139693
申请日:2008-06-16
申请人: Erik Meijer , Wolfram Schulte , Barend H. Venter , Chia-Hsun Chen , Christopher J. Lovett , Matthew J. Warren
发明人: Erik Meijer , Wolfram Schulte , Barend H. Venter , Chia-Hsun Chen , Christopher J. Lovett , Matthew J. Warren
IPC分类号: G06F9/44
CPC分类号: G06F8/437
摘要: A type system employing structural subtyping is disclosed herein. A core type system supports several structural types, such as stream, choice, intersection and sequence. Also part of the core type system is a new invariant type, which denotes values whose dynamic type is the same as its static type, and type restrictions for limiting a range of a base type. Furthermore, a streamlined structural version of delegates, called structural delegates and a validation method thereof are introduce into the type system. To further facilitate type safety, strict statically checked interface casts are introduced.
摘要翻译: 本文公开了采用结构子类型的类型系统。 核心类型系统支持多种结构类型,如流,选择,交集和序列。 核心类型系统的一部分是新的不变类型,它表示动态类型与其静态类型相同的值,以及限制基本类型范围的类型限制。 此外,向类型系统介绍了一种简化的代表结构版本,称为结构代理及其验证方法。 为了进一步促进类型安全,引入了严格的静态检查界面。
-
公开(公告)号:US08103495B2
公开(公告)日:2012-01-24
申请号:US11835853
申请日:2007-08-08
申请人: Margus Veanes , Colin Campbell , Wolfram Schulte
发明人: Margus Veanes , Colin Campbell , Wolfram Schulte
IPC分类号: G06F9/45
CPC分类号: H04L69/03
摘要: Modeling protocols. A method includes accessing a number of model programs. Each model program includes computer-executable instructions. The computer-executable instructions describe the behavior of at least one of another program, system, or component. Model programs may be disjointed in that they have independent meaning or dependent in that they include at least one of a state variable, action, or precondition that is dependent on another model program to impart meaning to the model program. An output model program is composed by unification including substituting state variables into another of the model programs without executing the model programs. Traces are generated from the output model program. Each of the traces includes a path of labels. The labels describe actions of the output model program from an initial state to an accepting state where a run is allowed to stop. The traces are output to a user.
摘要翻译: 建模协议。 一种方法包括访问多个模型程序。 每个模型程序都包含计算机可执行指令。 计算机可执行指令描述了另一个程序,系统或组件中的至少一个的行为。 模型程序可能会脱节,因为它们具有独立意义或依赖性,因为它们包括依赖于另一模型程序以赋予模型程序意义的状态变量,动作或前提条件中的至少一个。 输出模型程序由统一组成,包括将状态变量替换为另一个模型程序,而不执行模型程序。 轨迹是从输出模型程序生成的。 每条轨迹都包含标签的路径。 标签描述了输出模型程序从初始状态到允许运行停止的接受状态的动作。 轨迹输出到用户。
-
公开(公告)号:US08060859B2
公开(公告)日:2011-11-15
申请号:US12139712
申请日:2008-06-16
申请人: Erik Meijer , Wolfram Schulte , Barend H. Venter , Chia-Hsun Chen , Christopher J. Lovett , Matthew J. Warren
发明人: Erik Meijer , Wolfram Schulte , Barend H. Venter , Chia-Hsun Chen , Christopher J. Lovett , Matthew J. Warren
CPC分类号: G06F8/437
摘要: A type system employing structural subtyping is disclosed herein. A core type system supports several structural types, such as stream, choice, intersection and sequence. Also part of the core type system is a new invariant type, which denotes values whose dynamic type is the same as its static type, and type restrictions for limiting a range of a base type. Furthermore, a streamlined structural version of delegates, called structural delegates and a validation method thereof are introduce into the type system. To further facilitate type safety, strict statically checked interface casts are introduced.
摘要翻译: 本文公开了采用结构子类型的类型系统。 核心类型系统支持多种结构类型,如流,选择,交集和序列。 核心类型系统的一部分是新的不变类型,它表示动态类型与其静态类型相同的值,以及限制基本类型范围的类型限制。 此外,向类型系统介绍了一种简化的代表结构版本,称为结构代理及其验证方法。 为了进一步促进类型安全,引入了严格的静态检查界面。
-
公开(公告)号:US20090043560A1
公开(公告)日:2009-02-12
申请号:US11835853
申请日:2007-08-08
申请人: Margus Veanes , Colin Campbell , Wolfram Schulte
发明人: Margus Veanes , Colin Campbell , Wolfram Schulte
IPC分类号: G06F9/45
CPC分类号: H04L69/03
摘要: Modeling protocols. A method includes accessing a number of model programs. Each model program includes computer-executable instructions. The computer-executable instructions describe the behavior of at least one of another program, system, or component. Model programs may be disjointed in that they have independent meaning or dependent in that they include at least one of a state variable, action, or precondition that is dependent on another model program to impart meaning to the model program. An output model program is composed by unification including substituting state variables into another of the model programs without executing the model programs. Traces are generated from the output model program. Each of the traces includes a path of labels. The labels describe actions of the output model program from an initial state to an accepting state where a run is allowed to stop. The traces are output to a user.
摘要翻译: 建模协议。 一种方法包括访问多个模型程序。 每个模型程序都包含计算机可执行指令。 计算机可执行指令描述了另一个程序,系统或组件中的至少一个的行为。 模型程序可能会脱节,因为它们具有独立意义或依赖性,因为它们包括依赖于另一模型程序以赋予模型程序意义的状态变量,动作或前提条件中的至少一个。 输出模型程序由统一组成,包括将状态变量替换为另一个模型程序,而不执行模型程序。 轨迹是从输出模型程序生成的。 每条轨迹都包含标签的路径。 标签描述了输出模型程序从初始状态到允许运行停止的接受状态的动作。 轨迹输出到用户。
-
公开(公告)号:US07088864B2
公开(公告)日:2006-08-08
申请号:US10071524
申请日:2002-02-08
CPC分类号: G11B27/36 , G06F11/3672 , G11B19/048 , G11B2220/2562
摘要: A method and apparatus to generate a test suite from an abstract state machine (ASM) involves generating a finite state machine (FSM) for the ASM, and generating the test suite from the FSM. An initial state of the ASM is selected. A first encoding having a plurality of bits is generated to represent the initial state. Each bit of the first encoding represents a result of an evaluation of a non-trivial guard condition of the ASM. The initial state is associated with the first encoding in the data structure for the FSM. At least one other states of the ASM are identified that result from applying at least one actions of the ASM to the initial state. At least one other encodings are generated, each of the at least one other encodings corresponding to one of the at least one other states, and for each one of the at least one other states, when the corresponding of the at least one other encodings is not the same as the any one encoding already associated with a state in the data structure, data is included in the data structure associating the one of the at least one other states and a corresponding of the at least one other encodings.
-
-
-
-
-
-
-
-
-