System and method for dynamically inferring data preconditions over predicates by tree learning
    21.
    发明授权
    System and method for dynamically inferring data preconditions over predicates by tree learning 有权
    通过树木学习动态推断出谓词的数据前提条件的系统和方法

    公开(公告)号:US08126831B2

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

    申请号:US12236102

    申请日:2008-09-23

    IPC分类号: G06N5/00

    CPC分类号: G06N5/04

    摘要: A system and method for inferring preconditions for procedures in a program includes formulating predicates based on inputs to a procedure, including formal arguments, global variables and external environment. Truth assignments are sampled to the predicates to provide truth assignments that lead to a feasible set of input values. Test cases are generated for testing the program in accordance with the truth assignments having feasible sets of input values. The truth assignments are classified to the predicates as providing an error or not providing an error.

    摘要翻译: 用于推断程序中过程的前提条件的系统和方法包括根据对过程的输入(包括形式参数,全局变量和外部环境)来制定谓词。 真理分配被抽样到谓词,以提供导致一组可行的输入值的真值分配。 生成测试用例,以便根据具有可行的输入值集合的真值赋值来测试程序。 事实分配被分类为谓词提供错误或不提供错误。

    SYMBOLIC PREDICTIVE ANALYSIS FOR CONCURRENT PROGRAMS
    23.
    发明申请
    SYMBOLIC PREDICTIVE ANALYSIS FOR CONCURRENT PROGRAMS 审中-公开
    同步程序的符号预测分析

    公开(公告)号:US20100281469A1

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

    申请号:US12726764

    申请日:2010-03-18

    IPC分类号: G06F9/44

    摘要: A symbolic predictive analysis method for finding assertion violations and atomicity violations in concurrent programs is shown that derives a concurrent trace program (CTP) for a program under a given test. A logic formula is then generated based on a concurrent static single assignment (CSSA) representation of the CTP, including at least one assertion property or atomicity violation. The satisfiability of the formula is then determined, such that the outcome of the determination indicates an assertion/atomicity violation.

    摘要翻译: 显示了一种用于在并发程序中发现断言违规和原子性违规的符号预测分析方法,该方法为给定测试下的程序导出并发跟踪程序(CTP)。 然后,基于CTP的并发静态单赋值(CSSA)表示形式生成逻辑公式,包括至少一个断言属性或原子性冲突。 然后确定公式的可满足性,使得确定的结果表示断言/原子性违规。

    Scope Bounding with Automated Specification Inference for Scalable Software Model Checking
    25.
    发明申请
    Scope Bounding with Automated Specification Inference for Scalable Software Model Checking 有权
    可扩展软件模型检查自动规范推理范围

    公开(公告)号:US20120151449A1

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

    申请号:US13314738

    申请日:2011-12-08

    IPC分类号: G06F9/44

    CPC分类号: G06F8/74 G06F11/3604

    摘要: A scalable, computer implemented method for finding subtle flaws in software programs. The method advantageously employs 1) scope bounding which limits the size of a generated model by excluding deeply-nested function calls, where the scope bounding vector is chosen non-monotonically, and 2) automatic specification inference which generates constraints for functions through the effect of a light-weight and scalable global analysis. Advantageously, scalable software model checking is achieved while at the same time finding more bugs.

    摘要翻译: 一种可扩展的计算机实现的方法,用于在软件程序中发现微妙的缺陷。 该方法有利地采用1)范围界限,其通过排除深嵌套的函数调用来限制所生成的模型的大小,其中范围界限向量被非单调地选择,以及2)自动规范推理,其通过效应来产生功能的约束 轻量级和可扩展的全球分析。 有利地,实现可扩展的软件模型检查,同时发现更多的错误。

    INTEGRATING INTERVAL CONSTRAINT PROPAGATION WITH NONLINEAR REAL ARITHMETIC
    26.
    发明申请
    INTEGRATING INTERVAL CONSTRAINT PROPAGATION WITH NONLINEAR REAL ARITHMETIC 有权
    用非线性实数算法来整合间隔约束传播

    公开(公告)号:US20110173148A1

    公开(公告)日:2011-07-14

    申请号:US12966710

    申请日:2010-12-13

    IPC分类号: G06N5/02

    CPC分类号: G06N5/003

    摘要: A system and method for deciding the satisfiability of a non-linear real decision problem is disclosed. Linear and non-linear constraints associated with the problem are separated. The feasibility of the linear constraints is determined using a linear solver. The feasibility of the non-linear constraints is determined using a non-linear solver which employs interval constraint propagation. The interval solutions obtained from the non-linear solver are validated using the linear solver. If the solutions cannot be validated, linear constraints are learned to refine a search space associated with the problem. The learned constraints and the non-linear constraints are iteratively solved using the non-linear solver until either a feasible solution is obtained or no solution is possible.

    摘要翻译: 公开了一种用于确定非线性真实决策问题的可满足性的系统和方法。 与问题相关联的线性和非线性约束是分开的。 使用线性求解器确定线性约束的可行性。 使用采用间隔约束传播的非线性求解器来确定非线性约束的可行性。 使用线性求解器验证从非线性求解器获得的间隔解。 如果解决方案无法验证,则学习线性约束来优化与问题相关联的搜索空间。 使用非线性求解器迭代地求解所学习的约束和非线性约束,直到获得可行解或者不可能得到解。

    Integrating interval constraint propagation with nonlinear real arithmetic
    27.
    发明授权
    Integrating interval constraint propagation with nonlinear real arithmetic 有权
    将间隔约束传播与非线性实数算法相结合

    公开(公告)号:US08538900B2

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

    申请号:US12966710

    申请日:2010-12-13

    IPC分类号: G06F15/18 G06F7/60

    CPC分类号: G06N5/003

    摘要: A system and method for deciding the satisfiability of a non-linear real decision problem is disclosed. Linear and non-linear constraints associated with the problem are separated. The feasibility of the linear constraints is determined using a linear solver. The feasibility of the non-linear constraints is determined using a non-linear solver which employs interval constraint propagation. The interval solutions obtained from the non-linear solver are validated using the linear solver. If the solutions cannot be validated, linear constraints are learned to refine a search space associated with the problem. The learned constraints and the non-linear constraints are iteratively solved using the non-linear solver until either a feasible solution is obtained or no solution is possible.

    摘要翻译: 公开了一种用于确定非线性真实决策问题的可满足性的系统和方法。 与问题相关联的线性和非线性约束是分开的。 使用线性求解器确定线性约束的可行性。 使用采用间隔约束传播的非线性求解器来确定非线性约束的可行性。 使用线性求解器验证从非线性求解器获得的间隔解。 如果解决方案无法验证,则学习线性约束来优化与问题相关联的搜索空间。 使用非线性求解器迭代地求解所学习的约束和非线性约束,直到获得可行解或者没有解是可行的。

    Analysis of Interactions of C and C++ Strings
    29.
    发明申请
    Analysis of Interactions of C and C++ Strings 审中-公开
    C和C ++字符串的相互作用分析

    公开(公告)号:US20120233584A1

    公开(公告)日:2012-09-13

    申请号:US13416358

    申请日:2012-03-09

    IPC分类号: G06F9/44

    CPC分类号: G06F8/51 G06F8/443

    摘要: A computer implemented method for analyzing a computer software program comprising both C++ and C string components, wherein the method includes building a memory model abstraction of any memory used by the program strings. Various memory models are presented that find invalid memory accesses in terms of validity of memory regions and buffer overflows. The model supports analyzing the interaction of C and C++ components—in particular, it focuses on the interaction of C and C++ strings. The conversion of C++ strings to C strings is accomplished through a non-transferable ownership attribute that is to be respected by the C strings. The models can then be analyzed using static analysis techniques such as abstract interpretation and model checking, or through dynamic analysis. In so doing we allow discovery of potential memory safety violations in programs involving conversions between C and C++ strings.

    摘要翻译: 一种用于分析包括C ++和C字符串组件的计算机软件程序的计算机实现的方法,其中所述方法包括构建由程序串使用的任何存储器的存储器模型抽象。 提出了各种存储器模型,它们根据存储器区域和缓冲区溢出的有效性找到无效的存储器访问。 该模型支持分析C和C ++组件的交互,特别是C和C ++字符串的交互。 将C ++字符串转换为C字符串是通过C字符串要遵守的不可转移的所有权属性来实现的。 然后可以使用静态分析技术(如抽象解释和模型检查)或通过动态分析来分析模型。 在这样做的时候,我们允许在涉及C和C ++字符串之间的转换的程序中发现潜在的内存安全违规。