CONTEXTUALLY INTELLIGENT CODE EDITING
    21.
    发明申请
    CONTEXTUALLY INTELLIGENT CODE EDITING 有权
    内部智能代码编辑

    公开(公告)号:US20120167042A1

    公开(公告)日:2012-06-28

    申请号:US12979839

    申请日:2010-12-28

    IPC分类号: G06F9/44

    CPC分类号: G06F8/33

    摘要: This document describes techniques for contextually intelligent code editing. In at least some embodiments, the techniques are network-based and can use client-server interactions to develop programming code. For example, input to a local programming environment of a client can be transmitted to a server. A functionality at the server can inspect the input and determine programming options (e.g., programming terms and/or phrases) that are contextually valid in the local programming environment. A list of the programming options can then be transmitted to the client and presented via a user interface. In some embodiments, a selection of one of the programming options can cause the programming option to be populated to the local programming environment, e.g., as part of a user interface associated with the local programming environment. In at least some embodiments, the list of programming options can be cached locally on the client for quick retrieval.

    摘要翻译: 本文档描述了上下文智能代码编辑的技术。 在至少一些实施例中,这些技术是基于网络的,并且可以使用客户端 - 服务器交互来开发编程代码。 例如,可将客户端的本地编程环境的输入发送到服务器。 服务器上的功能可以检查输入并确定在本地编程环境中上下文有效的编程选项(例如,编程术语和/或短语)。 然后可以将编程选项的列表传送到客户端并通过用户界面呈现。 在一些实施例中,编程选项之一的选择可以使编程选项被填充到本地编程环境,例如作为与本地编程环境相关联的用户界面的一部分。 在至少一些实施例中,编程选项列表可以在本地缓存在客户机上用于快速检索。

    Specification generation from implementations
    22.
    发明授权
    Specification generation from implementations 有权
    来自实现的规范生成

    公开(公告)号:US07844951B2

    公开(公告)日:2010-11-30

    申请号:US11322982

    申请日:2005-12-30

    IPC分类号: G06F9/44

    CPC分类号: G06F8/74

    摘要: A computerized method receives an implementation comprising a modifier method and an observer method of a class implementing an abstract data type. The method symbolically executes the modifier method to obtain constrained states, and applies the observer method in constrained states to obtain specialized axioms. The method then creates a specification from the obtained specialized axioms based on generalizing, merging and simplifying the specialized axioms.

    摘要翻译: 计算机化方法接收包括实现抽象数据类型的类的修饰符方法和观察者方法的实现。 该方法以符号方式执行修正方法以获得约束状态,并将受监视方法应用于约束状态以获得专门的公理。 然后,该方法基于通用化,合并和简化专用公理,从获得的专业公理中创建一个规范。

    Interactive domain configuration
    23.
    发明授权
    Interactive domain configuration 有权
    互动域配置

    公开(公告)号:US07685571B2

    公开(公告)日:2010-03-23

    申请号:US10650238

    申请日:2003-08-27

    IPC分类号: G06F9/44

    CPC分类号: G06F8/75 G06F8/74 G06F11/3672

    摘要: Described herein are methods and systems for interactively configuring and producing a data domain for various data structure elements of a computer program. A domain configuration manager is described which interactively receives domain configuration information corresponding to a data structure element, reads a reflection of the program and produces a data domain according to domain configuration information. The domain configuration manager is capable of producing a data domain for a data structure element according to such domain configuration information such as an explicit expression, inheritance or domain generation technique. The reflection of the computer program exposes the methods and functions of the program to be used in the explicit expression regardless of the visibility rules. Also, predicates and conditions can be used with domain generation techniques to further narrowly configure the data domains.

    摘要翻译: 这里描述了用于交互地配置和产生用于计算机程序的各种数据结构元素的数据域的方法和系统。 描述了一种域配置管理器,其交互地接收对应于数据结构元素的域配置信息,读取该程序的反射并根据域配置信息产生数据域。 域配置管理器能够根据诸如显式表达式,继承性或域生成技术之类的域配置信息为数据结构元素生成数据域。 计算机程序的反映公开了要在显式表达式中使用的程序的方法和功能,而不管可见性规则如何。 此外,谓词和条件可以与域生成技术一起使用,以进一步窄配置数据域。

    Parameterized test driven development
    24.
    发明授权
    Parameterized test driven development 有权
    参数化测试驱动开发

    公开(公告)号:US07681180B2

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

    申请号:US11759144

    申请日:2007-06-06

    IPC分类号: G06F9/44 G06F11/00

    CPC分类号: G06F11/3688

    摘要: In one embodiment a computer system automatically generates unit tests. The computer system accesses a parameterized unit test that provides a base outline from which one or more unit tests are automatically generated, generates input parameter values for a unit of software code, automatically generates a unit test configured to assess the functionality of the unit of software code, and receives test results from a software testing program and provides feedback to a user. In other embodiments, a computer system automatically maintains a unit test database. The computer system receives a unit test at a unit test database, assigns a test identity to the received unit test, determines that the test identity assigned to the received unit test is unique when compared to other unit tests, determines that the received unit test has different functionality coverage characteristics, and adds the received unit test to the unit test database.

    摘要翻译: 在一个实施例中,计算机系统自动生成单元测试。 计算机系统访问参数化单元测试,该测试提供一个基本概要,从该自动生成一个或多个单元测试,生成软件代码单元的输入参数值,自动生成单元测试,用于评估软件单元的功能 代码,并从软件测试程序接收测试结果,并向用户提供反馈。 在其他实施例中,计算机系统自动维护单元测试数据库。 计算机系统在单元测试数据库中接收单元测试,为接收到的单元测试分配测试身份,确定与其他单元测试相比,分配给接收单元测试的测试身份是唯一的,确定接收单元测试具有 不同的功能覆盖特性,并将接收到的单元测试添加到单元测试数据库。

    BOUNDED PROGRAM FAILURE ANALYSIS AND CORRECTION
    25.
    发明申请
    BOUNDED PROGRAM FAILURE ANALYSIS AND CORRECTION 有权
    边界程序故障分析与校正

    公开(公告)号:US20080313602A1

    公开(公告)日:2008-12-18

    申请号:US11763312

    申请日:2007-06-14

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3688 G06F11/3636

    摘要: In one embodiment, a computer system determines that a previously run test scenario configured to test a software program has failed to produce an expected result due to one or more semantic errors, generates error trace code configured to monitor the called component, processes the test scenario using the error trace code, and analyzes error trace information to determine the point at which the semantic error occurs in the called component. In an alternative embodiment, a computer system detects a semantic error in a software component of a software program, constructs an error condition that may include source code representing a minimum condition under which the error occurs, generates an object invariant based on the error condition that represents an opposite condition to that represented by the error condition, and automatically generates source code change recommendations using the object invariant that prevent the semantic error from reoccurring in subsequent test scenarios.

    摘要翻译: 在一个实施例中,计算机系统确定配置成测试软件程序的先前运行的测试场景由于一个或多个语义错误而未能产生预期结果,生成被配置为监视被调用组件的错误跟踪代码,处理测试场景 使用错误跟踪代码,并分析错误跟踪信息以确定在被调用组件中发生语义错误的点。 在替代实施例中,计算机系统检测软件程序的软件组件中的语义错误,构建可以包括表示发生错误的最小条件的源代码的错误条件,基于错误条件生成对象不变量, 表示与由错误条件表示的相反的条件,并使用防止在后续测试场景中重现的语义错误的对象不变量自动生成源代码更改建议。

    Access driven filtering
    26.
    发明授权
    Access driven filtering 有权
    访问驱动过滤

    公开(公告)号:US07444622B2

    公开(公告)日:2008-10-28

    申请号:US10650297

    申请日:2003-08-27

    IPC分类号: G06F9/45

    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.

    摘要翻译: 测试域配置模块生成用于识别有关所需测试(例如数据类型和域配置)的信息的图形用户界面,并收集其他模块使用的信息以生成测试。 所识别的信息可以包括例如抽象语法,数据类型的实例的静态语义,最大计数,或者用于最大路径成本或最大表达成本的字段访问或数据类型的成本。 测试输入生成器,为识别和配置的数据类型生成测试输入。 在一种情况下,生成的测试输入被生成为树数据结构。 谓词确定生成的测试输入是否遵循语义条件。 测试输入评估器对数据类型的实例进行计数,总和通过生成的测试输入,或总计生成的测试输入的总和。 测试验收模块可以保存对谓词和测试输入评估器可接受的测试输入。

    Specification generation from implementations
    27.
    发明申请
    Specification generation from implementations 有权
    来自实现的规范生成

    公开(公告)号:US20070157169A1

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

    申请号:US11322982

    申请日:2005-12-30

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/74

    摘要: The technology contributes the inference of formal specifications automatically, which can increase the acceptance of specifications. The technology introduces the symbolic execution of a modifier method to explore its behavior and then summarizing the results of the exploration using observer methods. This often results in concise, understandable specifications, which are a prerequisite for human analysis. Optionally, a generated specification is deemed sound and or complete. The specifications are presented as traditional pre-/post-condition specifications or parameterized unit tests. The former often serve as inputs to a program verification system, whereas the latter often provide inputs for tools that generate test cases.

    摘要翻译: 该技术自动推荐正式规格,这可以增加规格的接受程度。 该技术引入了修饰符方法的符号执行来探索其行为,然后使用观察器方法总结探索的结果。 这通常导致简明扼要的规范,这是人类分析的先决条件。 可选地,生成的规范被认为是声音和/或完整的。 规格表示为传统的前/后条件规范或参数化单元测试。 前者通常用作程序验证系统的输入,而后者通常为生成测试用例的工具提供输入。

    Symbolic execution of object oriented programs with axiomatic summaries
    28.
    发明申请
    Symbolic execution of object oriented programs with axiomatic summaries 失效
    具有公理概要的面向对象程序的象征性执行

    公开(公告)号:US20070033576A1

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

    申请号:US11197912

    申请日:2005-08-04

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3688

    摘要: Symbolic execution identifies possible execution paths of a computer program or method, each having certain constraints over the input values. The symbolic execution also records updates of memory locations, e.g. updates of the fields of symbolic objects in the heap of an object oriented program, involving a description of the previous heap, the updated symbolic object, a field identification, and a newly assigned symbolic value. The symbolic execution can also record calls to summarized methods, involving a description of previous calls, an identification of the summarized methods, and its symbolic arguments. The behavior of summarized methods can be expressed by axioms. Axioms describe the relationship between summarized methods under certain conditions. Axioms can be generated from parameterized unit tests. A parameterized unit test is a method with parameters which executes a sequence of calls to methods of an implementation under test; it asserts constraints over the inputs and outputs of the calls. A software testing program receives a parameterized unit test of an implementation under test, and symbolically executes the parameterized unit test. It can re-use axioms generated from other parameterized unit tests, and use them to emulate summarized methods.

    摘要翻译: 符号执行标识计算机程序或方法的可能的执行路径,每一个对输入值都有一定的约束。 符号执行还记录存储器位置的更新,例如。 面向对象程序的堆中的符号对象的字段的更新,涉及先前堆的描述,更新的符号对象,字段标识和新分配的符号值。 符号执行还可以记录对汇总方法的调用,包括对先前调用的描述,汇总方法的标识及其符号参数。 总结方法的行为可以用公理来表示。 公理在某些条件下描述了总结方法之间的关系。 可以通过参数化单元测试生成公理。 参数化单元测试是一种具有参数的方法,该参数执行对被测实施方法的调用序列; 它声明了对呼叫的输入和输出的限制。 软件测试程序接收被测实施的参数化单元测试,并符号地执行参数化单元测试。 它可以重新使用从其他参数化单元测试生成的公理,并使用它们来模拟汇总的方法。

    Unit test generalization
    29.
    发明申请
    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
    30.
    发明申请
    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.

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