System and method for dynamic code analysis in presence of the table processing idiom
    3.
    发明授权
    System and method for dynamic code analysis in presence of the table processing idiom 有权
    在表处理习语中存在动态代码分析的系统和方法

    公开(公告)号:US08583965B2

    公开(公告)日:2013-11-12

    申请号:US13164799

    申请日:2011-06-21

    IPC分类号: G06F11/00

    CPC分类号: G06F11/366 G06F11/3636

    摘要: Systems and methods execute a computer program to produce a trace of the computer program and divide the trace into independent threads of execution. Each of the independent threads of execution comprises an execution sequence of the lines of programming code that ends with an identified write line of programming code that outputs an incorrect result. These systems and methods also identify key field within each of the independent threads of execution. In programming, which is processing records in a table one by one, key-fields are a subset of the fields of the table. The key fields impact the computations sequence leading up to the identified write line of the programming code. These systems and methods identify key-based dynamic slices from the independent threads of execution. Each of the key-based dynamic slices includes lines of programming code that are used in computations, processing the table records corresponding to the key fields.

    摘要翻译: 系统和方法执行计算机程序以产生计算机程序的跟踪,并将跟踪划分为独立的执行线程。 独立执行线程中的每一个都包括编​​程代码行的执行序列,其以识别出的输出不正确结果的编程代码写入行结束。 这些系统和方法还标识每个独立执行线程内的关键字段。 在编程中,它是逐个处理表中的记录,键区是表的字段的一个子集。 关键字段影响导致编程代码的已识别写入行的计算序列。 这些系统和方法从独立执行线程中识别基于键的动态切片。 每个基于键的动态切片包括在计算中使用的编程代码行,处理与关键字段对应的表记录。

    SYSTEM AND METHOD FOR DYNAMIC CODE ANALYSIS IN PRESENCE OF THE TABLE PROCESSING IDIOM
    4.
    发明申请
    SYSTEM AND METHOD FOR DYNAMIC CODE ANALYSIS IN PRESENCE OF THE TABLE PROCESSING IDIOM 有权
    用于处理表现存在的动态代码分析的系统和方法

    公开(公告)号:US20120331350A1

    公开(公告)日:2012-12-27

    申请号:US13164799

    申请日:2011-06-21

    IPC分类号: G06F11/36

    CPC分类号: G06F11/366 G06F11/3636

    摘要: Systems and methods execute a computer program to produce a trace of the computer program and divide the trace into independent threads of execution. Each of the independent threads of execution comprises an execution sequence of the lines of programming code that ends with an identified write line of programming code that outputs an incorrect result. These systems and methods also identify key field within each of the independent threads of execution. In programming, which is processing records in a table one by one, key-fields are a subset of the fields of the table. The key fields impact the computations sequence leading up to the identified write line of the programming code. These systems and methods identify key-based dynamic slices from the independent threads of execution. Each of the key-based dynamic slices includes lines of programming code that are used in computations, processing the table records corresponding to the key fields.

    摘要翻译: 系统和方法执行计算机程序以产生计算机程序的跟踪,并将跟踪划分为独立的执行线程。 独立执行线程中的每一个都包括编​​程代码行的执行序列,其以识别出的输出不正确结果的编程代码写入行结束。 这些系统和方法还标识每个独立执行线程内的关键字段。 在编程中,它是逐个处理表中的记录,键区是表的字段的一个子集。 关键字段影响导致编程代码的已识别写入行的计算序列。 这些系统和方法从独立执行线程中识别基于键的动态切片。 每个基于键的动态切片包括在计算中使用的编程代码行,处理与关键字段对应的表记录。

    METHOD, SYSTEM AND PROGRAM STORAGE DEVICE THAT PROVIDE FOR AUTOMATIC PROGRAMMING LANGUAGE GRAMMAR PARTITIONING
    5.
    发明申请
    METHOD, SYSTEM AND PROGRAM STORAGE DEVICE THAT PROVIDE FOR AUTOMATIC PROGRAMMING LANGUAGE GRAMMAR PARTITIONING 失效
    提供自动编程语言GRAMMAR分区的方法,系统和程序存储设备

    公开(公告)号:US20130007722A1

    公开(公告)日:2013-01-03

    申请号:US13170888

    申请日:2011-06-28

    IPC分类号: G06F9/45

    CPC分类号: G06F8/427 G06F8/37

    摘要: Disclosed are embodiments a computer-implemented method, a system and an associated program storage device that provide for automatic programming language grammar partitioning to solve the “code too large” problem. The embodiments partition a particular programming language grammar into logical subsets based on a set of partitioning heuristics and using a dependency graph that is preprocessed so as to be devoid of any cyclically connected grammar rule nodes. For each logical subset, textual code for a corresponding portion of a parsing program can be generated and then converted into machine-readable code for that corresponding portion of the parsing program. Thus, small amounts of textual code for portions of a parsing program are discretely converted into machine-readable code, thereby avoiding the “code too large” problem. The machine-readable code for all portions of the parsing program can then be merged and the parsing program can be executed in order to parse a corpus.

    摘要翻译: 公开了一种计算机实现的方法,系统和相关联的程序存储设备,其提供自动编程语言语法分区以解决代码太大的问题。 实施例基于一组分割启发式方法将特定编程语言语法划分为逻辑子集,并使用预处理的依赖图,以便不具有任何循环连接的语法规则节点。 对于每个逻辑子集,可以生成解析程序的相应部分的文本代码,然后将其转换为解析程序的相应部分的机器可读代码。 因此,解析程序的部分的少量文本代码被离散地转换为机器可读代码,从而避免代码太大的问题。 然后可以合并解析程序的所有部分的机器可读代码,并且可以执行解析程序以便解析语料库。

    Method, system and program storage device for automatic incremental learning of programming language grammar
    6.
    发明授权
    Method, system and program storage device for automatic incremental learning of programming language grammar 失效
    方法,系统和程序存储设备,用于自动增量学习编程语言语法

    公开(公告)号:US08676826B2

    公开(公告)日:2014-03-18

    申请号:US13170723

    申请日:2011-06-28

    IPC分类号: G06F17/30 G06N5/02 G06F9/45

    CPC分类号: G06F17/274

    摘要: The embodiments provide for automatic incremental learning of programming language grammar. A corpus (i.e., a text file of software code written in a particular programming language) is parsed based on a set of grammar rules. An unparsed statement from the corpus is identified along with a section thereof, which did not match any of the grammar rules in the set. A subset of the set of grammar rules at fault for the parsing failure is identified. Groups of new grammar rules are developed such that each group comprises at least one new grammar rule, such that each group can parse the unparsed statement, and such that each new grammar rule is a modification of grammar rule(s) in the subset. One specific group can then be selected for possible incorporation into the set of grammar rules. Optionally, before a specific group is selected, the groups can be heuristically pruned and/or ranked.

    摘要翻译: 这些实施例提供了编程语言语法的自动增量学习。 基于一组语法规则来解析语料库(即,以特定编程语言编写的软件代码的文本文件)。 识别语料库中的一个未解释的语句及其一部分,与该集合中的任何语法规则不匹配。 识别解析失败的故障语法规则集的一个子集。 开发新的语法规则组,使得每个组包括至少一个新的语法规则,使得每个组可以解析未解析的语句,并且使得每个新的语法规则是子集中的语法规则的修改。 然后可以选择一个特定的组,以便可能并入该组语法规则。 可选地,在选择特定组之前,可以启发式修剪和/或排名组。

    Method, system and program storage device that provide for automatic programming language grammar partitioning
    9.
    发明授权
    Method, system and program storage device that provide for automatic programming language grammar partitioning 失效
    方法,系统和程序存储设备,提供自动编程语言语法分区

    公开(公告)号:US08516457B2

    公开(公告)日:2013-08-20

    申请号:US13170888

    申请日:2011-06-28

    IPC分类号: G06F9/45

    CPC分类号: G06F8/427 G06F8/37

    摘要: Disclosed are embodiments a computer-implemented method, a system and an associated program storage device that provide for automatic programming language grammar partitioning to solve the “code too large” problem. The embodiments partition a particular programming language grammar into logical subsets based on a set of partitioning heuristics and using a dependency graph that is preprocessed so as to be devoid of any cyclically connected grammar rule nodes. For each logical subset, textual code for a corresponding portion of a parsing program can be generated and then converted into machine-readable code for that corresponding portion of the parsing program. Thus, small amounts of textual code for portions of a parsing program are discretely converted into machine-readable code, thereby avoiding the “code too large” problem. The machine-readable code for all portions of the parsing program can then be merged and the parsing program can be executed in order to parse a corpus.

    摘要翻译: 公开了一种计算机实现的方法,系统和相关联的程序存储设备,其提供自动编程语言语法分割以解决“代码太大”的问题。 实施例基于一组分割启发式方法将特定编程语言语法划分为逻辑子集,并使用预处理的依赖图,以便不具有任何循环连接的语法规则节点。 对于每个逻辑子集,可以生成解析程序的相应部分的文本代码,然后将其转换为解析程序的相应部分的机器可读代码。 因此,用于解析程序的部分的少量文本代码被离散地转换成机器可读代码,从而避免了“代码太大”的问题。 然后可以合并解析程序的所有部分的机器可读代码,并且可以执行解析程序以便解析语料库。