会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 6. 发明申请
    • 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 ++字符串之间的转换的程序中发现潜在的内存安全违规。
    • 9. 发明申请
    • 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.
    • 描述了用于在软件程序中发现给定循环的一组可能的迭代序列的系统和方法,以变换循环表示。 在包含循环的程序中,基于分割标准将循环分成多个部分。 标签与这些部分相关联,并且构建了一个初始循环自动机,它将循环迭代表示为与程序中的部分相对应的标签上的常规语言。 分析标签的子序列,以确定自动机中允许的子序列的不可行性。 通过去除所有不可行子序列来发现循环中的一组可能的迭代序列来改进自动机。 所产生的循环自动机被用于随后的程序验证或分析技术中以发现程序中的正确性属性的违反。