×

Methods and systems to identify and reproduce concurrency violations in multi-threaded programs

  • US 10,191,834 B2
  • Filed: 04/11/2016
  • Issued: 01/29/2019
  • Est. Priority Date: 12/21/2011
  • Status: Active Grant
First Claim
Patent Images

1. A method to identify threads responsible for causing a concurrency violation in a multi-threaded program comprising:

  • executing, with a processor, at least one of a plurality of thread controllers inserted into respective threads of a plurality of threads of a multi-threaded program to be debugged, a first thread controller of the plurality of thread controllers controlling an order in which first operations of a first respective thread of the plurality of threads are executed relative to second operations of a second thread of the plurality of threads, the controlling of the order in which first operations are executed relative to second operations including, when a first condition is met in the first thread, the first thread controller causing the first thread to stall, the stalling of the first thread to cause the first condition to remain satisfied while the other threads of the multi-threaded program continue to execute;

    causing the concurrency violation to occur based on a determination that a threshold number of a plurality of respective conditions defined in the respective thread controllers have been concurrently satisfied;

    based on the occurrence of the concurrency violation, identifying the respective threads that define the respective conditions that have been satisfied as being responsible for causing the concurrency violation; and

    when the threshold number of the plurality of respective conditions have not been satisfied within a threshold duration, halting the plurality of threads of the multithreaded program.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×