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添加一个超时转换,以便在继续控制调用之前给出一个实现时间来提供观察到的方法调用。

    Generating test cases for software with complex preconditions
    5.
    发明授权
    Generating test cases for software with complex preconditions 有权
    为具有复杂前提条件的软件生成测试用例

    公开(公告)号:US07665072B2

    公开(公告)日:2010-02-16

    申请号:US11112282

    申请日:2005-04-21

    IPC分类号: G06F9/44

    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.

    摘要翻译: 描述用于为具有输入前提条件的方法或程序生成测试用例的技术和工具。 例如,在为每个路径的相关输入条件找到可行的控制流路之后,创建一个与前提条件一起测试这些条件的新程序。 通过分析这个新程序的控制流图,发现了一类测试用例,同时避免了通过前提条件和方法的组合控制流程图完成对路径的搜索而产生的低效率。 通过将前提条件的控制流程图划分为分支和直线部分来引入额外的效率。

    Non-deterministic testing
    6.
    发明授权
    Non-deterministic testing 有权
    非确定性测试

    公开(公告)号:US07590520B2

    公开(公告)日:2009-09-15

    申请号:US10758797

    申请日:2004-01-15

    IPC分类号: G06F9/45 G06F9/44 G06F11/00

    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.

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

    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.

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

    Creation of content versions using content layers
    8.
    发明授权
    Creation of content versions using content layers 有权
    使用内容图层创建内容版本

    公开(公告)号:US07284235B2

    公开(公告)日:2007-10-16

    申请号:US10687099

    申请日:2003-10-15

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3664 G06F8/71

    摘要: The technologies allow a digital content developer to define, and a user to switch between or select, various versions of digital content for purposes of displaying, rendering, improving, or testing digital content. For example, a source code developer inserts identifiers in source code, and a source code layer viewer displays code segment choices defined by the identifiers. A user (e.g., the developer or others) selects code segments for inclusion in a source code version. The technology is also useful for providing versions of media content such as audio, video, DVD, images, text, etc.

    摘要翻译: 这些技术允许数字内容开发者定义和用户在数字内容的各种版本之间进行切换或选择,以便显示,呈现,改进或测试数字内容。 例如,源代码开发人员在源代码中插入标识符,源代码层查看器显示由标识符定义的代码段选项。 用户(例如,开发者或其他人)选择用于包含在源代码版本中的代码段。 该技术对于提供诸如音频,视频,DVD,图像,文本等的媒体内容的版本也是有用的。

    EDGE ROUTING USING CONNECTION REGIONS
    9.
    发明申请
    EDGE ROUTING USING CONNECTION REGIONS 有权
    边缘路由使用连接区域

    公开(公告)号:US20110134926A1

    公开(公告)日:2011-06-09

    申请号:US12631102

    申请日:2009-12-04

    IPC分类号: H04L12/56

    CPC分类号: H04L45/22 H04L45/02 H04L45/04

    摘要: A computer system identifies a source node that is to be connected to a target node, where the target node is connected to the source node using an edge that links a connection region associated with the source node to a candidate connection region of the target node. The computer system identifies candidate connection region constraints that place restrictions on where the candidate connection regions can be positioned on the target node and determines, based on the identified candidate connection region constraints, the position of each candidate connection region relative to the target node. At least two of the candidate connection regions are disconnected so that an edge's connection to the target node can change between the disconnected connection regions. The computer system also visually represents the position of each of the candidate connection regions of the target node.

    摘要翻译: 计算机系统识别要连接到目标节点的源节点,其中目标节点使用将与源节点相关联的连接区域链接到目标节点的候选连接区域的边缘连接到源节点。 计算机系统识别对候选连​​接区域可以位于目标节点上的位置施加限制的候选连接区域约束,并且基于所识别的候选连接区域约束,确定每个候选连接区域相对于目标节点的位置。 至少两个候选连接区域被断开,使得边缘与目标节点的连接可以在断开的连接区域之间改变。 计算机系统还可视地表示目标节点的每个候选连接区域的位置。

    Interactive connector routing between obstacles
    10.
    发明授权
    Interactive connector routing between obstacles 有权
    障碍物之间的交互式连接器路由

    公开(公告)号:US08482565B2

    公开(公告)日:2013-07-09

    申请号:US12467014

    申请日:2009-05-15

    IPC分类号: G06T11/20

    CPC分类号: G06T11/206

    摘要: An interactive connector routing system and method for creating a connector between two shapes in a digital canvas or workspace that is based on a shortest path. The system and method avoid the use of a tangent visibility graph when possible to minimize computation time. When the graph is used, it is built one portion during pointing device events. Source and target ports are set and it is determined whether a valid simple path can be created between these ports. If no simple path exists, then the system and method build an extended tangent visibility graph during pointing devices events. Building the extended tangent visibility graph includes an iterative process that enlarges an active rectangle until it contains the necessary obstacles and shapes to generate the shortest valid path for the connector. The system and method also use finishing techniques to clean up and smooth the connector path.

    摘要翻译: 用于在基于最短路径的数字画布或工作空间中的两个形状之间创建连接器的交互式连接器路由系统和方法。 系统和方法避免使用切线可见度图,以尽量减少计算时间。 当使用图表时,它在指针设备事件期间构建一部分。 源和目标端口被设置,并且确定是否可以在这些端口之间创建有效的简单路径。 如果不存在简单路径,则系统和方法在指向设备事件期间构建扩展切线可见性图。 构建扩展切线可见度图包括一个迭代过程,它可以放大一个活动矩形,直到它包含必要的障碍物和形状来生成连接器的最短有效路径。 该系统和方法还使用精整技术来清理和平滑连接器路径。