Redundant transactions for detection of timing sensitive errors

US9928158B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9928158-B2
Application numberUS-201615011557-A
CountryUS
Kind codeB2
Filing dateJan 30, 2016
Priority dateAug 8, 2013
Publication dateMar 27, 2018
Grant dateMar 27, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for detecting a software-race condition in a program includes copying a state of a transaction of the program from a first core of a multi-core processor to at least one additional core of the multi-core processor, running the transaction, redundantly, on the first core and the at least one additional core given the state, outputting a result of the first core and the at least one additional core, and detecting a difference in the results between the first core and the at least one additional core, wherein the difference indicates the software-race condition.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for detecting a software-race condition in a program, the method comprising: copying a state of a transaction of the program from a first core of a multi-core processor to at least one additional core of the multi-core processor; running the transaction, redundantly, on the first core and the at least one additional core given the state, wherein the transaction is run by at least one of the first core and the at least one additional core with a shifting delay starting the transaction at different times on the first core and the at least one additional core; outputting a result of the first core and the at least one additional core; detecting a difference in the results between the first core and the at least one additional core, wherein the difference indicates the software-race condition; maintaining a log of the difference detected while continuously executing the transaction, wherein the log includes start and end addresses of the transaction; obtaining a failing case based on the software-race condition; performing a rollback of the program; and executing the failing case using a debugger. 2. A non-transitory computer readable medium comprising computer executable instructions which when executed by a computer cause the computer to perform a method for detecting a software-race condition in a program, the method comprising: copying a state of a transaction of the program from a first core of a multi-core processor to at least one additional core of the multi-core processor; running the transaction, redundantly, on the first core and the at least one additional core given the state, wherein the transaction is run by at least one of the first core and the at least one additional core with a shifting delay starting the transaction at different times on the first core and the at least one additional core; outputting a result of the first core and the at least one additional core; detecting a difference in the results between the first core and the at least one additional core, wherein the difference indicates the software-race condition; maintaining a log of the difference detected while continuously executing the transaction, wherein the log includes start and end addresses of the transaction; obtaining a failing case based on the software-race condition; performing a rollback of the program; and executing the failing case using a debugger. 3. An apparatus for detecting a software-race condition in a program, the apparatus comprising: a multi-core processor having at least first and second cores; and a memory coupled to said multi-core processor; wherein said multi-core processor and said memory are cooperatively configured to: copy a state of a transaction of the program from said first core to at least said second core; run the transaction, redundantly, on the first core and the at least second core given the state, wherein the transaction is run by at least one of the first core and the at least second core with a shifting delay starting the transaction at different times on the first core and the at least second core; output a result of the first core and the at least second core; detect a difference in the results between the first core and the at least second core, wherein the difference indicates the software-race condition; maintain a log of the difference detected while continuously executing the transaction, wherein the log includes start and end addresses of the transaction; obtain a failing case based on the software-race condition; perform a rollback of the program; and execute the failing case using a debugger.

Assignees

Inventors

Classifications

  • Monitoring of software · CPC title

  • Testing of software · CPC title

  • by tracing the execution of the program · CPC title

  • using run-time replication performed by the application software, e.g. N-modular type · CPC title

  • Time redundant execution of software on a single processing unit · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9928158B2 cover?
A method for detecting a software-race condition in a program includes copying a state of a transaction of the program from a first core of a multi-core processor to at least one additional core of the multi-core processor, running the transaction, redundantly, on the first core and the at least one additional core given the state, outputting a result of the first core and the at least one addi…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3636. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).