Font Size: a A A

Detection And Debugging Of Potential Deadlock In Concurrent Program

Posted on:2017-11-01Degree:MasterType:Thesis
Country:ChinaCandidate:S WangFull Text:PDF
GTID:2348330503989879Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
How to solve errors in concurrent programs have received more and more attention from people because of the frequently use of concurrent programming with the popularity of multi-core hardware. And people have higher requirements for debugging techniques due to the randomness of threads scheduling during the concurrent program execution.This paper presents a new method to detecting the potential deadlock in concurrent programs. If no deadlocks occur during the program execution, but there exists a special scheduling sequence which program execute according to this sequence will always lead to deadlock. We say that the program exists potential deadlock, and the specific scheduling sequence is called a potential deadlock scheduling sequence.Potential deadlock analysis is mainly in the context of no deadlocks occur in the program execution, by performing analysis of the recorded execution sequence to detect whether the program exists potential deadlock. We use sequence synthesis to validate the accuracy of the analysis result if we detected potential deadlock in the program. Based on the result of the potential deadlock analysis, sequence synthesis synthesized a new execution sequence in order to change the threads scheduling and control the execution flow of the program. The synthetic sequence is essentially a potential deadlock scheduling sequence, and program execute in accordance with the synthetic sequence will always lead to deadlock.We need to avoid the occurrence of deadlock in order to solve the problem if we detected the potential deadlock in the program. Therefore, we designed a potential deadlock assisted debug tool. Debuggers can not only acquire the threads and mutexs information by the assisted debug tool, but also quickly locate the specific position of the operations related to the potential deadlock in the concurrent program. The assisted debug tool can help debuggers to solve the potential deadlock in concurrent programs.
Keywords/Search Tags:Concurrent program, Potential deadlock, Potential deadlock scheduling sequence, Sequence synthesis, Assisted debug tool
PDF Full Text Request
Related items