MECHANISM FOR FACILITATING DYNAMIC AND EFFICIENT MANAGEMENT OF INSTRUCTION ATOMICITY VOLATIONS IN SOFTWARE PROGRAMS AT COMPUTING SYSTEMS
    1.
    发明申请
    MECHANISM FOR FACILITATING DYNAMIC AND EFFICIENT MANAGEMENT OF INSTRUCTION ATOMICITY VOLATIONS IN SOFTWARE PROGRAMS AT COMPUTING SYSTEMS 有权
    促进计算机系统软件程序中指导性原子动力的动态和有效管理的机制

    公开(公告)号:US20140281705A1

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

    申请号:US13977690

    申请日:2013-03-15

    IPC分类号: G06F11/14

    摘要: A mechanism is described for facilitating dynamic and efficient management of instruction atomicity violations in software programs according to one embodiment. A method of embodiments, as described herein, includes receiving, at a replay logic from a recording system, a recording of a first software thread running a first macro instruction, and a second software thread running a second macro instruction. The first software thread and the second software thread are executed by a first core and a second core, respectively, of a processor at a computing device. The recording system may record interleavings between the first and second macro instructions. The method includes correctly replaying the recording of the interleavings of the first and second macro instructions precisely as they occurred. The correctly replaying may include replaying a local memory state of the first and second macro instructions and a global memory state of the first and second software threads.

    摘要翻译: 描述了根据一个实施例的用于促进软件程序中的指令原子性违规的动态和有效管理的机制。 如本文所述的实施例的方法包括在来自记录系统的重放逻辑处接收运行第一宏指令的第一软件线程的记录和运行第二宏指令的第二软件线程。 第一软件线程和第二软件线程分别由计算设备处理器的第一核心和第二核心执行。 记录系统可以记录第一和第二宏指令之间的交织。 该方法包括在发生时准确地重播第一和第二宏指令的交错记录。 正确重放可以包括重播第一和第二宏指令的本地存储器状态以及第一和第二软件线程的全局存储器状态。

    METHODS AND SYSTEMS TO IDENTIFY AND REPRODUCE CONCURRENCY VIOLATIONS IN MULTI-THREADED PROGRAMS USING EXPRESSIONS
    3.
    发明申请
    METHODS AND SYSTEMS TO IDENTIFY AND REPRODUCE CONCURRENCY VIOLATIONS IN MULTI-THREADED PROGRAMS USING EXPRESSIONS 有权
    使用表达法识别并复制多个程序中的同时违反的方法和系统

    公开(公告)号:US20140007054A1

    公开(公告)日:2014-01-02

    申请号:US13535334

    申请日:2012-06-27

    IPC分类号: G06F11/36

    摘要: Methods and systems to identify and reproduce concurrency bugs in multi-threaded programs are disclosed. An example method disclosed herein includes defining a data type. The data type includes a first predicate associated with a first thread of a multi-threaded program that is associated with a first condition, a second predicate that is associated with a second thread of the multi-threaded program, the second predicate being associated with a second condition, and an expression that defines a relationship between the first predicate and the second predicate. The relationship, when satisfied, causes the concurrency bug to be detected. A concurrency bug detector conforming to the data type is used to detect the concurrency bug in the multi-threaded program.

    摘要翻译: 公开了在多线程程序中识别和再现并发错误的方法和系统。 本文公开的示例性方法包括定义数据类型。 数据类型包括与第一条件相关联的多线程程序的第一线程相关联的第一谓词,与多线程程序的第二线程相关联的第二谓词,第二谓词与第一谓词相关联 第二个条件和一个定义第一个谓词和第二个谓词之间的关系的表达式。 这种关系在满足时会导致并发错误被检测到。 符合数据类型的并发错误检测器用于检测多线程程序中的并发错误。

    TECHNOLOGIES FOR ROOT CAUSE IDENTIFICATION OF USE-AFTER-FREE MEMORY CORRUPTION BUGS
    8.
    发明申请
    TECHNOLOGIES FOR ROOT CAUSE IDENTIFICATION OF USE-AFTER-FREE MEMORY CORRUPTION BUGS 有权
    技术因素导致无使用内存损坏BUG的识别

    公开(公告)号:US20160283302A1

    公开(公告)日:2016-09-29

    申请号:US14670863

    申请日:2015-03-27

    IPC分类号: G06F11/07

    CPC分类号: G06F11/079 G06F11/073

    摘要: Technologies for identification of a potential root cause of a use-after-free memory corruption bug of a program include a computing device to replay execution of the execution of the program based on an execution log of the program. The execution log comprises an ordered set of executed instructions of the program that resulted in the use-after-free memory corruption bug. The computing device compares a use-after-free memory address access of the program to a memory address associated with an occurrence of the use-after-free memory corruption bug in response to detecting the use-after-free memory address access and records the use-after-free memory address access of the program as a candidate for a root cause of the use-after-free memory corruption bug to a candidate list in response to detecting a match between the use-after-free memory address access of the program and the memory address associated with the occurrence of the use-after-free memory corruption bug.

    摘要翻译: 用于识别程序的无使用存储器内存损坏错误的潜在根本原因的技术包括基于程序的执行日志来重放执行程序的计算设备。 执行日志包括导致使用随机存储器损坏错误的程序的执行指令的有序集合。 计算装置响应于检测到使用无存储器存储器地址访问而将程序的无用空闲存储器地址访问与与使用无释放存储器损坏错误的发生相关联的存储器地址进行比较,并且记录 响应于检测到所述无用存储器内存地址访问之间的匹配,将所述程序的无用空闲内存地址访问作为候选列表的候选者,作为所述无用存储器内存损坏错误的根本原因 程序和与使用随机存储器内存损坏错误的发生相关联的存储器地址。

    TRACING MECHANISM FOR RECORDING SHARED MEMORY INTERLEAVINGS ON MULTI-CORE PROCESSORS
    9.
    发明申请
    TRACING MECHANISM FOR RECORDING SHARED MEMORY INTERLEAVINGS ON MULTI-CORE PROCESSORS 有权
    用于记录多核处理器的共享存储器间隔的跟踪机制

    公开(公告)号:US20150120996A1

    公开(公告)日:2015-04-30

    申请号:US13997747

    申请日:2012-03-30

    摘要: A memory race recorder (MRR) is provided. The MRR includes a multi-core processor having a relaxed memory consistency model, an extension to the multi-core processor, the extension to store chunks, the chunk having a chunk size (CS) and an instruction count (IC), and a plurality of cores to execute instructions. The plurality of cores executes load/store instructions to/from a store buffer (STB) and a simulated memory to store the value when the value is not in the STB. The oldest value in the STB is transferred to the simulated memory when the IC is equal to zero and the CS is greater than zero. The MRR logs a trace entry comprising the CS, the IC, and a global timestamp, the global timestamp proving a total order across all logged chunks.

    摘要翻译: 提供了一个记忆体记录仪(MRR)。 MRR包括具有放松的存储器一致性模型的多核处理器,多核处理器的扩展,存储块的扩展,具有块大小(CS)和指令计数(IC)的块,以及多个 的核心执行指令。 多个核对存储缓冲器(STB)和模拟存储器执行加载/存储指令以在值不在STB中时存储该值。 当IC等于零并且CS大于零时,STB中的最旧值被传送到模拟存储器。 MRR记录包含CS,IC和全局时间戳的跟踪条目,全局时间戳记证明所有记录的块的总顺序。

    Method of system for detecting abnormal interleavings in concurrent programs
    10.
    发明授权
    Method of system for detecting abnormal interleavings in concurrent programs 有权
    在并发程序中检测异常交错的系统方法

    公开(公告)号:US08862942B2

    公开(公告)日:2014-10-14

    申请号:US13498613

    申请日:2011-09-29

    摘要: A method and system for detecting abnormal interleavings in a multi-threaded program includes generating an execution log in response to execution of the multi-threaded program. Based on the execution log, a list of allowable immediate interleavings is generated if the execution of the multi-threaded program resulted in no concurrency errors and a list of suspicious immediate interleavings is generated if the execution of the multi-threaded program resulted in one or more concurrency errors. The first and second lists are compared to generate a list of error-causing immediate interleavings. A replayable core is then generated and executed based on the list of error-causing immediate interleavings.

    摘要翻译: 一种用于检测多线程程序中的异常交织的方法和系统,包括响应于多线程程序的执行而生成执行日志。 基于执行日志,如果多线程程序的执行导致没有并发错误,并且如果多线程程序的执行导致一个或多个程序执行,则生成可疑立即交织列表,则生成允许的立即交织的列表 更多的并发错误。 将第一和第二列表进行比较以产生造成误差的立即交错的列表。 然后基于造成错误的即时交错的列表来生成并执行可重放的核心。