Semiconductor integrated circuit device and system using the same
US-2015234661-A1 · Aug 20, 2015 · US
US9928158B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9928158-B2 |
| Application number | US-201615011557-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 30, 2016 |
| Priority date | Aug 8, 2013 |
| Publication date | Mar 27, 2018 |
| Grant date | Mar 27, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.