Static analysis based error reduction for software applications
    1.
    发明申请
    Static analysis based error reduction for software applications 审中-公开
    基于静态分析的软件应用程序的减少误差

    公开(公告)号:US20050015752A1

    公开(公告)日:2005-01-20

    申请号:US10620078

    申请日:2003-07-15

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F11/3604

    摘要: A system and method for providing “static analysis” of programs to aid in improving runtime performance, stability, security and privacy characteristics of deployed application code. The method includes performing a set of analyses that sifts through the program code and identifies programming security and/or privacy model coding errors. In particular the invention focuses on identifying coding errors that cause loss of correctness, performance degradation, security, privacy and maintainability vulnerabilities. A deep analysis of the program is performed using detailed control and data flow analyses. These deeper analyses provide a much better perspective of the overall application behavior. This deep analysis is in contrast to shallow analyses in current industry tools, which inspect or model a single or a few classes at a time.

    摘要翻译: 提供程序的“静态分析”的系统和方法,以帮助提高部署应用程序代码的运行时性能,稳定性,安全性和隐私特性。 该方法包括执行通过程序代码筛选的一组分析,并识别编程安全性和/或隐私模型编码错误。 特别地,本发明着重于识别导致正确性,性能下降,安全性,隐私和可维护性漏洞损失的编码错误。 使用详细的控制和数据流分析对程序进行深入分析。 这些更深入的分析为整体应用行为提供了更好的视角。 这个深刻的分析与当前行业工具中的浅析分析形成对比,该工具一次检查或建立一个或几个类。

    Method, system and program product for detecting and managing unwanted synchronization
    2.
    发明申请
    Method, system and program product for detecting and managing unwanted synchronization 审中-公开
    用于检测和管理不需要的同步的方法,系统和程序产品

    公开(公告)号:US20070169124A1

    公开(公告)日:2007-07-19

    申请号:US11272198

    申请日:2005-11-10

    IPC分类号: G06F9/46 G06F9/45

    CPC分类号: G06F8/445

    摘要: A method, system and program product for minimizing unwanted synchronizations in a multithreading program. Program functions in a multithreading program that should not be synchronized are identified as input tails, e.g., manually identified. An invocation graph is constructed for the multithreading program with nodes identified as head nodes and tail nodes that correspond to the input tails. Synchronization information is collected for each node of the invocation graph. Sources of synchronization in the invocation graph are represented as source nodes. All paths from head nodes to tail nodes through at least one source node are identified.

    摘要翻译: 一种用于最小化多线程程序中不希望的同步的方法,系统和程序产品。 不应同步的多线程程序中的程序功能被标识为输入尾,例如手动识别。 为多线程程序构建一个调用图,其中标识为头节点的节点和对应于输入尾的尾节点。 为调用图的每个节点收集同步信息。 调用图中的同步源表示为源节点。 识别通过至少一个源节点从头节点到尾节点的所有路径。

    Methods and apparatus for detecting deadlock in multithreading programs
    3.
    发明申请
    Methods and apparatus for detecting deadlock in multithreading programs 审中-公开
    用于检测多线程程序中的死锁的方法和装置

    公开(公告)号:US20070150897A1

    公开(公告)日:2007-06-28

    申请号:US11315855

    申请日:2005-12-22

    申请人: George Leeman

    发明人: George Leeman

    IPC分类号: G06F9/46

    CPC分类号: G06F9/524

    摘要: A method of detecting deadlock in a multithreading program is provided. An invocation graph is constructed having a single root and a plurality of nodes corresponding to one or more functions written in code of the multithreading program. A resource graph is computed in accordance with one or more resource sets in effect at each node of the invocation graph. It is determined whether cycles exist between two or more nodes of the resource graph. A cycle is an indication of deadlock in the multithreading program.

    摘要翻译: 提供了一种检测多线程程序中的死锁的方法。 构造具有单个根和多个对应于多线程程序的代码中写入的一个或多个函数的节点的调用图。 根据调用图的每个节点处有效的一个或多个资源集来计算资源图。 确定资源图表的两个或多个节点之间是否存在循环。 一个循环是多线程程序中死锁的指示。