Scope bounding with automated specification inference for scalable software model checking
    1.
    发明授权
    Scope bounding with automated specification inference for scalable software model checking 有权
    范围界定了可扩展软件模型检查的自动规范推理

    公开(公告)号:US08719793B2

    公开(公告)日:2014-05-06

    申请号:US13314738

    申请日:2011-12-08

    IPC分类号: G06F9/45

    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)自动规范推理,其通过效应来产生功能的约束 轻量级和可扩展的全球分析。 有利地,实现可扩展的软件模型检查,同时发现更多的错误。

    Methods and systems for efficient analysis of hybrid systems using template polyhedra
    3.
    发明授权
    Methods and systems for efficient analysis of hybrid systems using template polyhedra 有权
    使用模板多面体对混合系统进行有效分析的方法和系统

    公开(公告)号:US08352222B2

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

    申请号:US12236071

    申请日:2008-09-23

    CPC分类号: G05B15/02

    摘要: In accordance with aspects of the present principles, an over-approximation of reachable states of a hybrid system may be determined by utilizing template polyhedra. Policy iteration may be utilized to obtain an over-approximation of reachable states in the form of a relaxed invariant based upon template polyhedra expressions. The relaxed invariant may be used to construct a flowpipe to refine the over-approximation and thereby determine the reachable states of the hybrid system.

    摘要翻译: 根据本原理的方面,可以通过利用模板多面体来确定混合系统的可达状态的过近似。 可以利用策略迭代来基于模板多面体表达式以松弛不变量的形式获得可达状态的过近似。 可以使用松弛的不变量来构造流量管以改善过近似度,从而确定混合系统的可达状态。

    System and method for dynamically inferring data preconditions over predicates by tree learning
    4.
    发明授权
    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.

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

    CONTROL STRUCTURE REFINEMENT OF LOOPS USING STATIC ANALYSIS
    5.
    发明申请
    CONTROL STRUCTURE REFINEMENT OF LOOPS USING STATIC ANALYSIS 有权
    使用静态分析的控制结构修剪

    公开(公告)号:US20100205592A1

    公开(公告)日:2010-08-12

    申请号:US12701962

    申请日:2010-02-08

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443 G06F8/433

    摘要: A system and method for discovering a set of possible iteration sequences for a given loop in a software program is described, to transform the loop representation. In a program containing a loop, the loop is partitioned into a plurality of portions based on splitting criteria. Labels are associated with the portions, and an initial loop automaton is constructed that represents the loop iterations as a regular language over the labels corresponding to the portions in the program. Subsequences of the labels are analyzed to determine infeasibility of the subsequences permitted in the automaton. The automaton is refined by removing all infeasible subsequences to discover a set of possible iteration sequences in the loop. The resulting loop automaton is used in a subsequent program verification or analysis technique to find violations of correctness properties in programs.

    摘要翻译: 描述了用于在软件程序中发现给定循环的一组可能的迭代序列的系统和方法,以变换循环表示。 在包含循环的程序中,基于分割标准将循环分成多个部分。 标签与这些部分相关联,并且构建了一个初始循环自动机,它将循环迭代表示为与程序中的部分相对应的标签上的常规语言。 分析标签的子序列,以确定自动机中允许的子序列的不可行性。 通过去除所有不可行子序列来发现循环中的一组可能的迭代序列来改进自动机。 所产生的循环自动机被用于随后的程序验证或分析技术中以发现程序中的正确性属性的违反。

    FAST AND ACCURATE STATIC DATA-RACE DETECTION FOR CONCURRENT PROGRAMS
    7.
    发明申请
    FAST AND ACCURATE STATIC DATA-RACE DETECTION FOR CONCURRENT PROGRAMS 有权
    快速准确的静态数据检测方法

    公开(公告)号:US20080178156A1

    公开(公告)日:2008-07-24

    申请号:US11954869

    申请日:2007-12-12

    IPC分类号: G06F9/44

    CPC分类号: G06F9/52 G06F8/433 G06F9/526

    摘要: A system and method for race warning generation for computer program verification includes determining shared variables and determining context-sensitive points-to sets for lock pointers by focusing on pointers that may affect aliases of lock pointers, and by leveraging function summarization. Locksets are determined at locations where shared variables are accessed using the points-to sets for lock pointers. Warnings are based on disjointness of locksets.

    摘要翻译: 用于计算机程序验证的用于赛跑警告生成的系统和方法包括通过关注可能影响锁定指针的别名的指针以及通过利用功能汇总来确定共享变量并且确定用于锁指针的上下文相关点集合。 使用锁定指针的点对集来访问共享变量的位置确定锁定。 警告是基于锁具的不相容性。

    Systems and methods for model checking the precision of programs employing floating-point operations
    8.
    发明授权
    Systems and methods for model checking the precision of programs employing floating-point operations 有权
    用于模型检查使用浮点运算的程序精度的系统和方法

    公开(公告)号:US08539451B2

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

    申请号:US12761575

    申请日:2010-04-16

    IPC分类号: G06F9/44 G06F11/00

    CPC分类号: G06F11/3608

    摘要: Methods and systems for verifying the precision of a program that utilizes floating point operations are disclosed. Interval and affine arithmetic can be employed to build a model of the program including floating point operations and variables that are expressed as reals and integers, thereby permitting accurate determination of precision loss using a model checker. Abstract interpretation can be also employed to simplify the model. In addition, counterexample-guided abstraction refinement can be used to refine the values of parametric error constants introduced in the model.

    摘要翻译: 公开了用于验证利用浮点运算的程序的精度的方法和系统。 可以采用间隔和仿射算法来构建程序的模型,包括浮点运算和表示为真值和整数的变量,从而可以使用模型检验器精确确定精度损失。 抽象解释也可以用来简化模型。 此外,反例引导的抽象改进可以用于细化模型中引入的参数误差常数的值。

    Control structure refinement of loops using static analysis

    公开(公告)号:US08522226B2

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

    申请号:US12701962

    申请日:2010-02-08

    IPC分类号: G06F9/45 G06F9/44 G06F9/445

    CPC分类号: G06F8/443 G06F8/433

    摘要: A system and method for discovering a set of possible iteration sequences for a given loop in a software program is described, to transform the loop representation. In a program containing a loop, the loop is partitioned into a plurality of portions based on splitting criteria. Labels are associated with the portions, and an initial loop automaton is constructed that represents the loop iterations as a regular language over the labels corresponding to the portions in the program. Subsequences of the labels are analyzed to determine infeasibility of the subsequences permitted in the automaton. The automaton is refined by removing all infeasible subsequences to discover a set of possible iteration sequences in the loop. The resulting loop automaton is used in a subsequent program verification or analysis technique to find violations of correctness properties in programs.

    System and method for feedback-guided test generation for cyber-physical systems using monte-carlo
    10.
    发明授权
    System and method for feedback-guided test generation for cyber-physical systems using monte-carlo 有权
    用于使用蒙特卡罗的网络物理系统的反馈引导测试生成的系统和方法

    公开(公告)号:US08374840B2

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

    申请号:US12578855

    申请日:2009-10-14

    IPC分类号: G06G7/62

    CPC分类号: G01R31/318357

    摘要: A system and method for generating test vectors includes generating traces of a system model or program stored in memory using a simulation engine. Simulated inputs are globally optimized using a fitness objective computed using a computer processing device. The simulation inputs are adjusted in accordance with feedback from the traces and fitness objective values by computing a distance between the fitness objective value and a reachability objective. Test input vectors are output based upon optimized fitness objective values associated with the simulated inputs to test the system model or program stored in memory.

    摘要翻译: 用于生成测试向量的系统和方法包括使用模拟引擎生成存储在存储器中的系统模型或程序的轨迹。 使用计算机处理设备计算的健身目标,全局优化模拟输入。 通过计算健身目标值与可达性目标之间的距离,根据跟踪和健身目标值的反馈来调整模拟输入。 基于与模拟输入相关联的优化的适应度目标值输出测试输入向量,以测试存储在存储器中的系统模型或程序。