Symbolic query exploration
    1.
    发明授权
    Symbolic query exploration 有权
    符号查询探索

    公开(公告)号:US08180786B2

    公开(公告)日:2012-05-15

    申请号:US12549380

    申请日:2009-08-28

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30634

    摘要: A symbolic query exploration (QEX) module automatically produces output information that can be used to evaluate a database. The QEX module operates by converting an input query into a formula for processing by a satisfiability module theories (SMT) solver module. The SMT solver module generates a model that satisfies the formula. The model yields table information that is used to populate the database and, optionally, parameter information that is used to instantiate the query. A query evaluation module then submits the instantiated query to the populated database and evaluates whether an evaluation result produced thereby agrees with pre-specified condition information. The QEX module can preprocess the formula using either (or both) an eager expansion approach (in which the formula is expanded in an upfront manner) or a lazy expansion approach (in which axioms are identified for later possible expansion by the SMT solver module).

    摘要翻译: 符号查询探索(QEX)模块自动生成可用于评估数据库的输出信息。 QEX模块通过将输入查询转换为可满足性模块理论(SMT)求解器模块进行处理的公式来进行操作。 SMT求解器模块生成满足公式的模型。 该模型产生用于填充数据库的表信息,以及可选的用于实例化查询的参数信息。 查询评估模块然后将实例化的查询提交给填充的数据库,并评估由此产生的评估结果是否与预先指定的条件信息一致。 QEX模块可以使用(或两者)(或两者)预热扩展方法(其中公式以前期方式扩展)或延迟扩展方法(其中公理被识别用于随后可能由SMT求解器模块扩展)来预处理公式, 。

    Symbolic Runtime Checking of Quantified Contracts
    2.
    发明申请
    Symbolic Runtime Checking of Quantified Contracts 有权
    量化合同的符号运行时检查

    公开(公告)号:US20100083233A1

    公开(公告)日:2010-04-01

    申请号:US12239526

    申请日:2008-09-26

    IPC分类号: G06F9/44

    摘要: An extension of symbolic execution for programs involving contracts with quantifiers over large and potentially unbounded domains is described. Symbolic execution is used to generate, from a program, concrete test cases that exhibit mismatches between the program code and its contracts with quantifiers. Quantifiers are instantiated using symbolic values encountered during a set of exhibited runs. In this setting, quantifier instantiation is limited to values supplied to or produced by a symbolic execution. Quantifier instantiation is controlled by performing a matching algorithm that uses run-time values of input and program variables in order to guide and limit the set of quantifier instantiations. With a sufficient set of instances, test cases are derived that directly witness limitations of the auxiliary assertions.

    摘要翻译: 描述了涉及与大型和潜在无界域上的量词相关联的程序的符号执行的扩展。 符号执行用于从程序生成具有程序代码与其与量词的合同之间不匹配的具体测试用例。 使用在一组展示的运行中遇到的符号值来实例化量词。 在此设置中,量化器实例化被限制为提供给或由符号执行产生的值。 量化器实例化是通过执行使用输入和程序变量的运行时值的匹配算法来控制的,以引导和限制一组量词实例。 使用足够的一组实例,导出直接看到辅助断言的限制的测试用例。

    Ranking Programs in a Marketplace System
    3.
    发明申请
    Ranking Programs in a Marketplace System 审中-公开
    市场系统中的排名计划

    公开(公告)号:US20130151519A1

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

    申请号:US13313032

    申请日:2011-12-07

    IPC分类号: G06F17/30

    CPC分类号: G06F16/35 G06F16/9535

    摘要: A marketplace system is described herein for ranking programs based, at least in part, on the assessed distinctiveness of the programs. In one implementation, the marketplace operates by: (a) accessing a set of programs; (b) extracting feature information from each of the programs; (c) generating similarity information for each program, based on the feature information; (d) ranking the programs based at least on the similarity information, to provide ranking information; and (e) providing a user interface presentation that has an effect of promoting at least one distinctive program in the set of applications on the basis of the ranking information.

    摘要翻译: 本文描述了一种市场系统,用于至少部分地基于评估的程序的独特性对程序进行排名。 在一个实施中,市场通过以下操作:(a)访问一组程序; (b)从每个节目中提取特征信息; (c)基于所述特征信息生成每个节目的相似度信息; (d)至少基于相似性信息对节目进行排序,以提供排名信息; 以及(e)提供具有基于所述排名信息来促进所述应用集合中的至少一个独特程序的效果的用户界面呈现。

    Parameterized test driven development
    4.
    发明授权
    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
    5.
    发明申请
    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.

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

    Controlling the Release of Private Information Using Static Flow Analysis
    6.
    发明申请
    Controlling the Release of Private Information Using Static Flow Analysis 有权
    使用静态流分析控制私人信息的发布

    公开(公告)号:US20130152154A1

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

    申请号:US13314212

    申请日:2011-12-08

    IPC分类号: G06F17/00

    摘要: A privacy control system is described herein for controlling dissemination of private information by a program. The privacy control system operates by performing static analysis to determine at least one flow within the program of private information, from a source to a sink The static analysis is particularly configured to identify two types of flow, including: (a) an unvetted flow of untampered private information from the source to the sink; and (b) a flow of tampered private information from the source to the sink, whether vetted or unvetted. The privacy control system then prompts the user to provide a privacy control decision regarding the flow. The privacy control decision governs whether actual data or anonymized data is provided to the sink, or whether the program is terminated. A runtime system then runs the program in accordance with the privacy control decision.

    摘要翻译: 本文描述了一种用于控制程序传播私人信息的隐私控制系统。 隐私控制系统通过执行静态分析来确定私人信息的程序中的至少一个流,从源到宿。静态分析被特别地配置为识别两种类型的流,包括:(a)未被感染的流 从源头到水槽的未经修改的私人信息; 和(b)从源头到水槽的篡改的私人信息流,无论是否被审查。 然后,隐私控制系统提示用户提供关于流程的隐私控制决定。 隐私控制决定是否将实际数据或匿名数据提供给汇点,还是程序终止。 运行系统然后根据隐私控制决定运行该程序。

    DYNAMICALLY CHANGING KEY SELECTION BASED ON CONTEXT
    7.
    发明申请
    DYNAMICALLY CHANGING KEY SELECTION BASED ON CONTEXT 审中-公开
    基于背景动态更改关键选择

    公开(公告)号:US20130055138A1

    公开(公告)日:2013-02-28

    申请号:US13217306

    申请日:2011-08-25

    IPC分类号: G06F3/048

    CPC分类号: G06F8/33

    摘要: Editing functionality is described herein for creating a structured data item by dynamically presenting a key arrangement that is deemed suitable at each instance of an editing session. Each key is associated with a component of the structured data item. Upon activation of one of these keys, the editing functionality adds a corresponding component to the item being created. The editing functionality can be implemented on any user device, but is particularly suited for implementation on a handheld computing device having a limited input mechanism and a display mechanism.

    摘要翻译: 本文描述了用于通过动态地呈现在编辑会话的每个实例被认为合适的密钥排列来创建结构化数据项的编辑功能。 每个密钥与结构化数据项的组件相关联。 激活这些键之一后,编辑功能会将相应的组件添加到正在创建的项目中。 编辑功能可以在任何用户设备上实现,但是特别适用于具有有限输入机制和显示机制的手持计算设备上的实现。

    Symbolic runtime checking of quantified contracts
    8.
    发明授权
    Symbolic runtime checking of quantified contracts 有权
    量化合同的符号运行时检查

    公开(公告)号:US08387021B2

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

    申请号:US12239526

    申请日:2008-09-26

    IPC分类号: G06F9/44

    摘要: An extension of symbolic execution for programs involving contracts with quantifiers over large and potentially unbounded domains is described. Symbolic execution is used to generate, from a program, concrete test cases that exhibit mismatches between the program code and its contracts with quantifiers. Quantifiers are instantiated using symbolic values encountered during a set of exhibited runs. In this setting, quantifier instantiation is limited to values supplied to or produced by a symbolic execution. Quantifier instantiation is controlled by performing a matching algorithm that uses run-time values of input and program variables in order to guide and limit the set of quantifier instantiations. With a sufficient set of instances, test cases are derived that directly witness limitations of the auxiliary assertions.

    摘要翻译: 描述了涉及与大型和潜在无界域上的量词相关联的程序的符号执行的扩展。 符号执行用于从程序生成具有程序代码与其与量词的合同之间不匹配的具体测试用例。 使用在一组展示的运行中遇到的符号值来实例化量词。 在此设置中,量化器实例化被限制为提供给或由符号执行产生的值。 量化器实例化是通过执行使用输入和程序变量的运行时值的匹配算法来控制的,以引导和限制一组量词实例。 使用足够的一组实例,导出直接看到辅助断言的限制的测试用例。

    Whitebox trace fuzzing
    9.
    发明授权
    Whitebox trace fuzzing 有权
    Whitebox跟踪模糊

    公开(公告)号:US08387016B2

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

    申请号:US12434558

    申请日:2009-05-01

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F11/3684 G06F11/3612

    摘要: Disclosed is a process to generate and execute relevant, non-redundant test cases starting with an execution trace. An execution trace may be collected. A sequence of actions and the data involved in the actions may then be extracted from the execution trace and persisted separately from one another. Code for a non-deterministic program (“NDP”) may be generated, comprising the sequence of actions but without determining the data. A systematic program analysis of the NDP may be made, exploring possible execution paths and beginning from the path exercised by the persisted data. A new test case may be generated which fixes particular test inputs for the NDP.

    摘要翻译: 公开了一种从执行跟踪开始生成和执行相关的非冗余测试用例的过程。 可以收集执行跟踪。 然后可以从执行跟踪中提取动作序列和动作中涉及的数据,并且彼此分开保持。 可以生成非确定性程序(NDP)的代码,其包括动作序列,但不确定数据。 可以对NDP进行系统的程序分析,探索可能的执行路径,并从持久化数据执行的路径开始。 可能会生成一个新的测试用例,修复NDP的特定测试输入。

    Symbolic finite automata
    10.
    发明授权
    Symbolic finite automata 有权
    符号有限自动机

    公开(公告)号:US08515891B2

    公开(公告)日:2013-08-20

    申请号:US12950586

    申请日:2010-11-19

    IPC分类号: G06F17/00 G06N5/02

    CPC分类号: G06F11/3684 G06F11/3608

    摘要: Described are symbolic finite automata for symbolically expressing and analyzing regular expression constraints, such as for use in program analysis and testing. A regular expression or pattern is transformed into a symbolic finite automaton having transitions that are labeled by formulas that denote sets of characters (rather than individual characters). Also described is composing two or more symbolic finite automata into a resulting symbolic finite automaton that is fully satisfiable. A constraint solver may be used to ensure satisfiability.

    摘要翻译: 描述了象征性的有限自动机,用于象征性地表达和分析正则表达式约束,例如用于程序分析和测试。 将正则表达式或模式转换为具有由表示字符集(而不是单个字符)的公式标记的转换的符号有限自动机。 还描述了将两个或更多个符号有限自动机组合成完全可满足的结果符号有限自动机。 可以使用约束求解器来确保可满足性。