Font Size: a A A

Research And Implementation Of C++ Program Defect Detection Based On Binary Instrumentation

Posted on:2018-02-03Degree:MasterType:Thesis
Country:ChinaCandidate:L HeFull Text:PDF
GTID:2348330518996276Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the increasing size of the software, logic more and more complex,making the inevitable process of software development errors. C++, as one of the most widely used programming languages, is often used to write infrastructure software, which is much more costly in the event of a defect than in conventional software. Because of the language features of C++, in the process of writing the program, it is prone to memory management defects, these defects are usually difficult to locate and repair. It can accurately collect the characteristic data during the running process of the program, and through the analysis of these characteristic data, it can achieve the purpose of detecting the application. Compared with the traditional source code instrumentation technology, dynamic binary insertion technology has the functions of not needing to recompile the tested program, can insert and replace the binary code during the running of the program, and can realize the defect detection function better. Due to the lack of binary code semantics and platform-related features, it is very difficult to carry out the program of dynamic binary insertion. So it is very important to study the method of C++ program defect detection based on dynamic binary interpolation technology.This paper introduces the common software analysis methods, and focuses on the current use of a wide range of dynamic binary stakes technology. A C + + program defect detection tool based on dynamic binary instrumentation is designed and implemented for the memory management errors which are widely existed in C ++ program. The tool tracks the program under test with the DynamoRIO instrumentation framework to maintain shadow memory and detect defects in the program under test. In the design of shadow memory, the combination of different mapping methods, while ensuring the binary level of information to preserve the size of the same time, greatly reducing the information redundancy, reducing the maintenance of shadow memory space required.At the same time, by tracking the boundary of the stack memory variable,the buffer overflow detection of the stack variable is realized. Finally, the run-time cost and the detection accuracy of the detection method are verified by experiments..
Keywords/Search Tags:defect detection, memory management, dynamic binary instrumentation, shadow memory
PDF Full Text Request
Related items