会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 2. 发明申请
    • PROOF-GUIDED ERROR DIAGNOSIS (PED) BY TRIANGULATION OF PROGRAM ERROR CAUSES
    • 通过三角计划错误原因进行验证错误诊断(PED)
    • US20090292941A1
    • 2009-11-26
    • US12331243
    • 2008-12-09
    • Malay K. GanaiGogul Balakrishnan
    • Malay K. GanaiGogul Balakrishnan
    • G06F11/07
    • G06F11/366G06F11/3636
    • Systems and methods are disclosed for performing error diagnosis of software errors in a program by from one or more error traces, building a repair program containing one or more modified program semantics corresponding to fixes to observed errors; encoding the repair program with constraints, biases and priortization into a constraint weighted problem; and solving the constraint weighted problem to generate one or more repair solutions, wherein the encoding includes at least one of: a) constraining one or more repairs choices guided by automatically inferring one or more partial specifications of intended program behaviors and program structure; b) biasing one or more repair choices guided by typical programming mistakes; and c) prioritizing the repair solutions based on error locations and possible changes in program semantics.
    • 公开了系统和方法,用于通过一个或多个错误跟踪来执行程序中软件错误的错误诊断,构建包含对应于观察到的错误的修复的一个或多个修改的程序语义的修复程序; 编码修复程序的约束,偏见和优化成约束加权问题; 以及解决所述约束加权问题以产生一个或多个修复解决方案,其中所述编码包括以下至少一个:a)通过自动推断一个或多个预期程序行为和程序结构的部分规范来约束一个或多个维修选择; b)偏向一个或多个由典型编程错误引导的维修选择; 以及c)基于错误位置和程序语义的可能变化对修复方案进行优先排序。
    • 6. 发明申请
    • CONTROL STRUCTURE REFINEMENT OF LOOPS USING STATIC ANALYSIS
    • 使用静态分析的控制结构修剪
    • US20100205592A1
    • 2010-08-12
    • US12701962
    • 2010-02-08
    • SRIRAM SANKARANARAYANANAarti GuptaGogul Balakrishnan
    • SRIRAM SANKARANARAYANANAarti GuptaGogul Balakrishnan
    • G06F9/45
    • G06F8/443G06F8/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.
    • 描述了用于在软件程序中发现给定循环的一组可能的迭代序列的系统和方法,以变换循环表示。 在包含循环的程序中,基于分割标准将循环分成多个部分。 标签与这些部分相关联,并且构建了一个初始循环自动机,它将循环迭代表示为与程序中的部分相对应的标签上的常规语言。 分析标签的子序列,以确定自动机中允许的子序列的不可行性。 通过去除所有不可行子序列来发现循环中的一组可能的迭代序列来改进自动机。 所产生的循环自动机被用于随后的程序验证或分析技术中以发现程序中的正确性属性的违反。
    • 9. 发明申请
    • Analysis of Interactions of C and C++ Strings
    • C和C ++字符串的相互作用分析
    • US20120233584A1
    • 2012-09-13
    • US13416358
    • 2012-03-09
    • Franjo IvancicGogul BalakrishnanNaoto MaedaAarti Gupta
    • Franjo IvancicGogul BalakrishnanNaoto MaedaAarti Gupta
    • G06F9/44
    • G06F8/51G06F8/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 ++字符串之间的转换的程序中发现潜在的内存安全违规。