Font Size: a A A

Research On Program Analysis Of Memory Accesses Bugs In Multithreaded Programs

Posted on:2018-09-20Degree:MasterType:Thesis
Country:ChinaCandidate:Z Y LiuFull Text:PDF
GTID:2348330518496563Subject:Cryptography
Abstract/Summary:PDF Full Text Request
In recent years, with the large-scale deployment of the multi-core processors, to utilize the system resources more efficiently, the parallelized programs are widely spread and deployed. The multi-thread programs utilize the processor resources more efficiently, greatly improve the data throughput and reduce the time cost of the computation.It meets the increasing demand of the business and becomes one of the future development trends of software engineering. However, due to the multi-thread memory access problems, the reliability of software faces a serious threat. There are two ways to detect the multi-thread memory access problems: (1) the static analysis approach which has high analysis cost and low analysis precision and (2) the dynamic analysis approach which has the high runtime overhead. The practicality of the two methods cannot effectively deal with the growing problem of multi-thread program access.Aiming at the above problems, this thesis present a novel C/C++program multi-thread memory access problem detection approch, the program combines static detection and dynamic analysis, and it greatly reduces the overhead required for analysis. The following research work is carried out: (1) This paper systematically classifies the practical problems of C/C++ multithreaded memory access problems, and divides the multi-thread access problem into ten categories. (2) A corresponding static detection scheme is designed for each kind of problem. (3) The static detection framework for multi-thread access problem is designed and implemented. (4) Research on dynamic analysis approach of multi-thread memory access problem; (5) Implement the algorithm and analyze the performance of the algorithm.In order to evaluate the performance of the approach, this thesis implemented the approach on LLVM compiler framework. The experimental results show that the new approach has advantages in accuracy (found all bugs in related entries in CWE and CERT), and can find multi-thread access problem with less overhead (2X with Olden benchmarks).
Keywords/Search Tags:Program analysis, Concurrency, Multi-threading, Runtime hardening, Data race
PDF Full Text Request
Related items