-
公开(公告)号:US20100083233A1
公开(公告)日:2010-04-01
申请号:US12239526
申请日:2008-09-26
申请人: Dries Vanoverberghe , Nikolai Tillmann , Jonathan Paul de Halleux , Nikolaj S. Bjorner , Wolfram Schulte
发明人: Dries Vanoverberghe , Nikolai Tillmann , Jonathan Paul de Halleux , Nikolaj S. Bjorner , Wolfram Schulte
IPC分类号: G06F9/44
CPC分类号: G06F11/3612 , G06F11/3684 , G06F11/3692
摘要: 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.
摘要翻译: 描述了涉及与大型和潜在无界域上的量词相关联的程序的符号执行的扩展。 符号执行用于从程序生成具有程序代码与其与量词的合同之间不匹配的具体测试用例。 使用在一组展示的运行中遇到的符号值来实例化量词。 在此设置中,量化器实例化被限制为提供给或由符号执行产生的值。 量化器实例化是通过执行使用输入和程序变量的运行时值的匹配算法来控制的,以引导和限制一组量词实例。 使用足够的一组实例,导出直接看到辅助断言的限制的测试用例。
-
公开(公告)号:US08387021B2
公开(公告)日:2013-02-26
申请号:US12239526
申请日:2008-09-26
申请人: Dries Vanoverberghe , Nikolai Tillmann , Jonathan Paul de Halleux , Nikolaj S Bjorner , Wolfram Schulte
发明人: Dries Vanoverberghe , Nikolai Tillmann , Jonathan Paul de Halleux , Nikolaj S Bjorner , Wolfram Schulte
IPC分类号: G06F9/44
CPC分类号: G06F11/3612 , G06F11/3684 , G06F11/3692
摘要: 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.
摘要翻译: 描述了涉及与大型和潜在无界域上的量词相关联的程序的符号执行的扩展。 符号执行用于从程序生成具有程序代码与其与量词的合同之间不匹配的具体测试用例。 使用在一组展示的运行中遇到的符号值来实例化量词。 在此设置中,量化器实例化被限制为提供给或由符号执行产生的值。 量化器实例化是通过执行使用输入和程序变量的运行时值的匹配算法来控制的,以引导和限制一组量词实例。 使用足够的一组实例,导出直接看到辅助断言的限制的测试用例。
-
公开(公告)号:US07681180B2
公开(公告)日:2010-03-16
申请号:US11759144
申请日:2007-06-06
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.
摘要翻译: 在一个实施例中,计算机系统自动生成单元测试。 计算机系统访问参数化单元测试,该测试提供一个基本概要,从该自动生成一个或多个单元测试,生成软件代码单元的输入参数值,自动生成单元测试,用于评估软件单元的功能 代码,并从软件测试程序接收测试结果,并向用户提供反馈。 在其他实施例中,计算机系统自动维护单元测试数据库。 计算机系统在单元测试数据库中接收单元测试,为接收到的单元测试分配测试身份,确定与其他单元测试相比,分配给接收单元测试的测试身份是唯一的,确定接收单元测试具有 不同的功能覆盖特性,并将接收到的单元测试添加到单元测试数据库。
-
公开(公告)号: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.
摘要翻译: 在一个实施例中,计算机系统确定配置成测试软件程序的先前运行的测试场景由于一个或多个语义错误而未能产生预期结果,生成被配置为监视被调用组件的错误跟踪代码,处理测试场景 使用错误跟踪代码,并分析错误跟踪信息以确定在被调用组件中发生语义错误的点。 在替代实施例中,计算机系统检测软件程序的软件组件中的语义错误,构建可以包括表示发生错误的最小条件的源代码的错误条件,基于错误条件生成对象不变量, 表示与由错误条件表示的相反的条件,并使用防止在后续测试场景中重现的语义错误的对象不变量自动生成源代码更改建议。
-
公开(公告)号:US07882495B2
公开(公告)日:2011-02-01
申请号: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.
摘要翻译: 在一个实施例中,计算机系统确定配置成测试软件程序的先前运行的测试场景由于一个或多个语义错误而未能产生预期结果,生成被配置为监视被调用组件的错误跟踪代码,处理测试场景 使用错误跟踪代码,并分析错误跟踪信息以确定在被调用组件中发生语义错误的点。 在替代实施例中,计算机系统检测软件程序的软件组件中的语义错误,构建可以包括表示发生错误的最小条件的源代码的错误条件,基于错误条件生成对象不变量, 表示与由错误条件表示的相反的条件,并使用防止在后续测试场景中重现的语义错误的对象不变量自动生成源代码更改建议。
-
公开(公告)号:US20080307264A1
公开(公告)日:2008-12-11
申请号:US11759144
申请日:2007-06-06
IPC分类号: 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.
摘要翻译: 在一个实施例中,计算机系统自动生成单元测试。 计算机系统访问参数化单元测试,该测试提供一个基本概要,从该自动生成一个或多个单元测试,生成软件代码单元的输入参数值,自动生成单元测试,用于评估软件单元的功能 代码,并从软件测试程序接收测试结果,并向用户提供反馈。 在其他实施例中,计算机系统自动维护单元测试数据库。 计算机系统在单元测试数据库中接收单元测试,为接收到的单元测试分配测试身份,确定与其他单元测试相比,分配给接收单元测试的测试身份是唯一的,确定接收单元测试具有 不同的功能覆盖特性,并将接收到的单元测试添加到单元测试数据库。
-
公开(公告)号: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求解器模块扩展)来预处理公式, 。
-
公开(公告)号:US20130151519A1
公开(公告)日:2013-06-13
申请号:US13313032
申请日:2011-12-07
申请人: Marat K. Akhin , Nikolai Tillmann , Michal J. Moskal , Jonathan Paul de Halleux , Manuel A. Fahndrich
发明人: Marat K. Akhin , Nikolai Tillmann , Michal J. Moskal , Jonathan Paul de Halleux , Manuel A. Fahndrich
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)提供具有基于所述排名信息来促进所述应用集合中的至少一个独特程序的效果的用户界面呈现。
-
公开(公告)号:US08515891B2
公开(公告)日:2013-08-20
申请号:US12950586
申请日:2010-11-19
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.
摘要翻译: 描述了象征性的有限自动机,用于象征性地表达和分析正则表达式约束,例如用于程序分析和测试。 将正则表达式或模式转换为具有由表示字符集(而不是单个字符)的公式标记的转换的符号有限自动机。 还描述了将两个或更多个符号有限自动机组合成完全可满足的结果符号有限自动机。 可以使用约束求解器来确保可满足性。
-
10.
公开(公告)号:US20130152154A1
公开(公告)日:2013-06-13
申请号:US13314212
申请日:2011-12-08
申请人: Xusheng Xiao , Nikolai Tillmann , Manuel A. Fahndrich , Jonathan Paul de Halleux , Michal J. Moskal
发明人: Xusheng Xiao , Nikolai Tillmann , Manuel A. Fahndrich , Jonathan Paul de Halleux , Michal J. Moskal
IPC分类号: G06F17/00
CPC分类号: G06F17/00 , G06F21/00 , G06F21/57 , G06F21/6245 , G06F2221/033 , H04W12/02
摘要: 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)从源头到水槽的篡改的私人信息流,无论是否被审查。 然后,隐私控制系统提示用户提供关于流程的隐私控制决定。 隐私控制决定是否将实际数据或匿名数据提供给汇点,还是程序终止。 运行系统然后根据隐私控制决定运行该程序。
-
-
-
-
-
-
-
-
-