会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 42. 发明授权
    • Scalable propagation-based methods for call graph construction
    • 用于调用图构造的基于扩展的基于传播的方法
    • US07003507B2
    • 2006-02-21
    • US09823060
    • 2001-03-30
    • Frank TipJens Palsberg
    • Frank TipJens Palsberg
    • G06F17/30
    • G06F9/449Y10S707/99932
    • A program storage device, readably by a machine, tangibly embodying instructions to perform method steps for constructing a call graph whereby for each method M, a set of types SM of objects that may occur in method M is determined for each field F, a set of types SF of objects is determined that may be stored in field F, the method comprising: determining the allocation sites inside the body of method M; determining the set of directly called methods M′ inside the body of method M; and determining the set of virtually called methods M″ inside the body of method M.
    • 程序存储装置,由机器可读地实际地体现用于执行用于构建调用图的方法步骤的指令,由此对于每个方法M,可能在方法M中发生的对象的一组类型S M M是 确定每个字段F,确定可以存储在字段F中的对象的一组类型S S,其中该方法包括:确定方法M的正文内的分配位置; 确定方法M的体内的直接称为方法M'的集合; 并确定方法M体内的虚拟称为方法M“的集合。
    • 43. 发明授权
    • Method for accurately extracting library-based object-oriented applications
    • 准确提取基于图书馆的面向对象应用程序的方法
    • US06546551B1
    • 2003-04-08
    • US09408224
    • 1999-09-28
    • Peter Francis SweeneyFrank Tip
    • Peter Francis SweeneyFrank Tip
    • G06F945
    • G06F8/433G06F9/44521
    • The present invention is capable of accurately extracting multiple applications with respect to a class library. The invention relies on a configuration file for an application program and/or library, which describes how program components in the program/library should be preserved under specified conditions. The invention may be used in application extraction tools, and in tools that aim at enhancing performance using whole-program optimizations. The invention may be used as an optimization to reduce application size by eliminating unreachable methods. In the alternative, the invention may be used as a basis for optimizations that reduce execution time (e.g., by means of call devirtualization), and as a basis for tools for program understanding and debugging.
    • 本发明能够准确地提取关于类库的多个应用。 本发明依赖于用于应用程序和/或库的配置文件,其描述程序/库中的程序组件应如何在特定条件下被保留。 本发明可以用于应用提取工具,以及旨在使用整个程序优化来提高性能的工具。 本发明可以用作优化以通过消除不可达方法来减少应用程序大小。 在替代方案中,本发明可以用作减少执行时间(例如通过调用半虚拟化)的优化的基础,并且作为用于程序理解和调试的工具的基础。
    • 44. 发明授权
    • Aggregate structure identification and its application to program analysis
    • 综合结构识别及其在程序分析中的应用
    • US06279149B1
    • 2001-08-21
    • US09159951
    • 1998-09-24
    • John H. FieldGanesan RamalingamFrank Tip
    • John H. FieldGanesan RamalingamFrank Tip
    • G06F745
    • G06F11/3608G06F8/75
    • An efficient program analysis method is provided for lazily decomposing aggregates (such as records and arrays) into simpler components based on the access patterns specific to a given program. This process allows us both to identify implicit aggregate structure not evident from declarative information in the program, and to simplify the representation of declared aggregates when references are made only to a subset of their components. The method can be exploited to yield: (i) a fast type analysis method applicable to program maintenance applications (such as date usage inference for the Year 2000 problem); and (ii) an efficient method for atomization of aggregates. More specifically, aggregate atomization decomposes all of the data that can be manipulated by the program into a set of disjoint atoms such that each data reference can be modeled as one or more references to atoms without loss of semantic information. Aggregate atomization can be used to adapt program analyses and representations designed for scalar data to aggregate data. In particular, atomization can be used to build more precise versions of program representations such as SSA form or PDGs. Such representations can in turn yield more accurate results for problems such as program slicing. Our techniques are especially useful in weakly-typed languages such as Cobol (where a variable need not be declared as an aggregate to store an aggregate value) and in languages where references to statically-defined sub-ranges of data such as arrays or strings are allowed.
    • 提供了一种高效的程序分析方法,用于根据给定程序特有的访问模式将聚合(如记录和数组)分解成更简单的组件。 这个过程使我们能够识别程序中的声明信息中不明显的隐式聚合结构,并且只有当引用仅对其组件的子集进行引用时,才能简化已声明聚合的表示。 该方法可以被利用以产生:(i)适用于程序维护应用程序的快速类型分析方法(例如2000年问题的日期使用推论); 和(ii)用于雾化聚集体的有效方法。 更具体地说,聚合雾化将所有可以由程序操纵的数据分解成一组不相交的原子,使得每个数据引用可以被建模为对原子的一个或多个引用,而不会丢失语义信息。 聚合雾化可用于调整为标量数据设计的程序分析和表示以汇总数据。 特别地,雾化可用于构建更精确的程序表示形式,例如SSA形式或PDG。 这样的表示反过来可以产生更准确的结果,例如程序切片等问题。 我们的技术在弱类型语言(如Cobol(其中变量不需要声明为聚合以存储聚合值))以及静态定义的子数据范围(如数组或字符串)的语言中尤其有用 允许
    • 45. 发明授权
    • Method and device for program transformation using class hierarchy transformation based upon type constraint analysis
    • 基于类型约束分析的类层次转换的程序转换方法和设备
    • US06230314B1
    • 2001-05-08
    • US08942520
    • 1997-10-02
    • Peter F. SweeneyFrank Tip
    • Peter F. SweeneyFrank Tip
    • G06F944
    • G06F8/72G06F8/4435G06F9/4492
    • A mechanism is provided that eliminates redundant components from objects of a program. Specifically, the mechanism is capable of detecting situations where a member of a given class is used by some, but not all instances of that class, and the elimination of this member from the instances where it is not needed. This is accomplished by an analysis of the program and its class hierarchy, followed by the construction of a new, specialized class hierarchy and a transformation of the program. These operations preserve the original behavior of the program, and have the effect of “optimizing away” unneeded class members from objects. The invention is also capable of replacing class hierarchies that exhibit virtual inheritance with class hierarchies that only exhibit nonvirtual inheritance, and is applicable across a broad spectrum of inheritance structures. Transformation of virtual into nonvirtual inheritance improves program performance because it reduces the time required to access members that are located in virtual base classes. In addition, it may reduce the space required to represent objects.
    • 提供了一种从程序对象中消除冗余组件的机制。 具体来说,该机制能够检测给定类的成员被该类的某些但不是所有实例使用的情况,以及从不需要的情况消除该成员。 这是通过对程序及其类层次结构的分析完成的,随后构建一个新的专门的类层次结构和程序的转换。 这些操作保留程序的原始行为,并具有“不需要的类成员”从对象中“优化”的效果。 本发明还能够用仅显示非虚拟继承的类层次来代替展示虚拟继承的类层次,并且可以跨广泛的继承结构应用。 将虚拟转换为非虚拟继承可以提高程序性能,因为它可以减少访问位于虚拟基类中的成员所需的时间。 此外,它可以减少表示对象所需的空间。
    • 47. 发明申请
    • Parameterization of programming structures
    • 编程结构参数化
    • US20060080644A1
    • 2006-04-13
    • US10960203
    • 2004-10-07
    • Robert FuhrerAdam KiezunFrank Tip
    • Robert FuhrerAdam KiezunFrank Tip
    • G06F9/45
    • G06F8/51G06F9/4488
    • A method for transforming at least a portion of at least one programming structure into a type parameter includes receiving a first list of at least one declaration of at least one programming structure for transforming to a type parameter. The method further includes generating a second list of at least one declaration of the at least one programming structure that must be transformed into a type parameter if the at least one declaration of the first list is transformed to a type parameter. The method further includes generating a third list of at least one declaration of the at least one programming structure that may optionally be transformed into a type parameter and receiving a selection of zero or more declarations from the second list and zero or more declarations from the third list.
    • 用于将至少一个编程结构的至少一部分变换为类型参数的方法包括:接收用于转换为类型参数的至少一个编程结构的至少一个声明的第一列表。 所述方法还包括:如果所述第一列表的所述至少一个声明被转换为类型参数,则生成所述至少一个编程结构的至少一个声明的第二列表,所述至少一个声明必须被变换为类型参数。 该方法还包括生成至少一个编程结构的至少一个声明的第三列表,其可以可选地被变换成类型参数,并从第二列表接收零个或多个声明的选择,并且从第三列中接收零个或多个声明 列表。