Data structure path profiling
    1.
    发明授权
    Data structure path profiling 有权
    数据结构路径分析

    公开(公告)号:US07926043B2

    公开(公告)日:2011-04-12

    申请号:US11425354

    申请日:2006-06-20

    CPC classification number: G06F11/3466 G06F2201/865

    Abstract: The described technology provides data structure path profiling. An instrumented version of a program is created that calls a profiler runtime when pointer based data structures are allocated or accessed via pointers. A model of the heap is created and nodes in the model data structures are assigned unique identifiers. Paths traversed through the model data structures are assigned unique identifiers. The paths are counted in order to identify paths through the data structure model that are traversed frequently. The model is useful for providing information about high frequency data paths to the program developer and for various optimization purposes, such as prefetching and or increasing data locality during garbage collection.

    Abstract translation: 所描述的技术提供了数据结构路径分析。 创建了一个程序的检测版本,当通过指针分配或访问基于指针的数据结构时,调用分析器运行时。 创建堆的模型,并为模型数据结构中的节点分配唯一的标识符。 遍历模型数据结构的路径被分配唯一的标识符。 对路径进行计数,以便识别经过数据结构模型的路径。 该模型对于向程序开发人员提供关于高频数据路径的信息以及各种优化目的是有用的,例如在垃圾收集期间预取和/或增加数据局部性。

    Adaptive instrumentation runtime monitoring and analysis
    2.
    发明授权
    Adaptive instrumentation runtime monitoring and analysis 有权
    自适应仪表运行时监控和分析

    公开(公告)号:US07587709B2

    公开(公告)日:2009-09-08

    申请号:US10693834

    申请日:2003-10-24

    CPC classification number: G06F11/366 G06F11/3636 G06F11/3644

    Abstract: Techniques described herein provide low-overhead adaptive instrumentation runtime monitoring and analysis of software. A method of instrumenting a program to provide instrumentation data creates instrumentation versions comprising duplicate versions of original procedures in the program with instrumentation code for capturing instrumentation data, and adaptively decreases the sampling rate of the instrumented version of a procedure as the frequency of execution of the procedure increases. Additionally, the instrumentation methods can be used to build runtime tools that monitor the correctness of a program with very little overhead.

    Abstract translation: 本文描述的技术提供了低开销自适应仪器运行时间监控和软件分析。 提供仪器仪表数据的程序的一种方法是创建仪器版本,包括程序中的原始程序的重复版本,其中包含用于捕获仪器数据的仪器代码,并自适应地将程序的检测版本的采样率降低为执行频率 程序增加。 此外,仪器方法可用于构建运行时工具,以极少的开销监视程序的正确性。

    Statistical memory leak detection
    5.
    发明申请
    Statistical memory leak detection 有权
    统计内存泄漏检测

    公开(公告)号:US20050091646A1

    公开(公告)日:2005-04-28

    申请号:US10892260

    申请日:2004-07-15

    CPC classification number: G06F11/366 G06F8/30 G06F9/44 G06F11/3636 G06F11/3644

    Abstract: A method of detecting memory leaks. The method of detecting memory leaks comprises, adaptively bursty tracing a program execution to track accesses to heap objects with low overhead and using this information identify stale heap objects, which are reported as leaks.

    Abstract translation: 一种检测内存泄漏的方法。 检测内存泄漏的方法包括自适应地突发性地跟踪程序执行以跟踪对具有低开销的堆对象的访问,并且使用该信息来标识被报告为泄漏的过期堆对象。

    Leveraging garbage collection to dynamically infer heap invariants
    7.
    发明授权
    Leveraging garbage collection to dynamically infer heap invariants 失效
    利用垃圾收集来动态推断堆不变量

    公开(公告)号:US07912877B2

    公开(公告)日:2011-03-22

    申请号:US11134796

    申请日:2005-05-20

    CPC classification number: G06F11/0751 G06F11/0718 G06F11/073 G06F12/0253

    Abstract: A program analysis tool leverages the garbage collection process to dynamically infer invariants of objects or data structures created by a program on the heap during execution. During execution of the program in a garbage-collected execution environment, the program analysis tool tracks object allocations made by the program, and records some meta data relating to invariants tracked for the type of the object, which are initially assumed satisfied by the object. Whenever a garbage collection pass visits the object, the tool checks whether the object still satisfies the invariants, and updates the meta data accordingly. The tool finally reports the invariants reflected by the meta data upon the object's death or at termination of the program. The invariants can then be used to annotate the program source code and/or detect bugs that violate the invariants.

    Abstract translation: 一个程序分析工具利用垃圾收集过程,在执行过程中,动态地推断由程序在堆上创建的对象或数据结构的不变量。 在垃圾收集执行环境中执行程序期间,程序分析工具跟踪由程序进行的对象分配,并且记录与对象的类型跟踪的不变量相关的一些元数据,这些元数据最初被对象所满足。 无论何时垃圾回收通过访问对象,工具都会检查对象是否仍然满足不变量,并相应地更新元数据。 该工具最终报告了元数据在对象死亡或程序终止时反映的不变量。 然后可以使用不变量来注释程序源代码和/或检测违反不变量的错误。

    Using dynamic analysis to improve model checking
    8.
    发明申请
    Using dynamic analysis to improve model checking 失效
    使用动态分析来改进模型检查

    公开(公告)号:US20070244942A1

    公开(公告)日:2007-10-18

    申请号:US11406207

    申请日:2006-04-17

    CPC classification number: G06F11/3612

    Abstract: Model checking has been used to verify program behavior. However, exploration of the model is often impractical for many general purpose programs due to the complexity of an exploding state space. Instead, a program is instrumented with code that records pointer dereference information. The instrumented program is executed thereby recording pointer dereference frequency information. Then, a model of the program is explored using the pointer dereference frequency information to direct state space exploration of the model.

    Abstract translation: 模型检查已被用于验证程序行为。 然而,由于爆炸状态空间的复杂性,对许多通用程序的探索通常是不切实际的。 相反,程序使用记录指针取消引用信息的代码进行检测。 执行检测程序,从而记录指针取消引用频率信息。 然后,使用指针取消引用频率信息来探索程序的模型,以指导模型的状态空间探索。

    System and method for the discovery and use repetitively accessed data
    9.
    发明授权
    System and method for the discovery and use repetitively accessed data 失效
    用于发现和使用重复访问数据的系统和方法

    公开(公告)号:US07073032B2

    公开(公告)日:2006-07-04

    申请号:US10891221

    申请日:2004-07-14

    Inventor: Trishul Chilimbi

    Abstract: A system and method for analyzing data accesses to determine data accessing patterns is provided. Data address accesses are traced and transformed into Whole Program Data Accesses (WPDAs). WPDAs may then be used to discover higher-level data abstractions, such as hot data blocks. Hot data blocks provide information related to sequences of data addresses that are repeatedly accessed together. Hot data blocks may then be used to improve program performance.

    Abstract translation: 提供了一种用于分析数据访问以确定数据访问模式的系统和方法。 跟踪数据地址访问并将其转换为整个程序数据访问(WPA)。 然后可以使用WPDAs来发现更高级别的数据抽象,例如热数据块。 热数据块提供与一起重复访问的数据地址序列相关的信息。 然后可以使用热数据块来提高程序性能。

    Dynamic prefetching of hot data streams

    公开(公告)号:US07058936B2

    公开(公告)日:2006-06-06

    申请号:US10304306

    申请日:2002-11-25

    CPC classification number: G06F9/45525 G06F8/4442

    Abstract: A method and system for creating and injecting code into a running program that identifies a hot data stream, and prefetching data elements in the stream so they are available when needed by the processor. The injected code identifies the first few elements in a hot data stream (i.e. the prefix), and prefetches the balance of the elements in the stream (i.e., the suffix). Since the hot data stream identification code and prefetch code is injected at run time, pointer related time-dependencies inherent in earlier prefetch systems are eliminated. A global deterministic finite state machine (DFSM) is used to help create conceptual logic used to generate the code injected into the program for prefix detection.

Patent Agency Ranking