Please use this identifier to cite or link to this item:
http://dspace.cityu.edu.hk/handle/2031/6413
Title: | Efficient Dynamic Analysis of Data Race |
Authors: | Li, Ho Man |
Department: | Department of Computer Science |
Issue Date: | 2011 |
Supervisor: | Supervisor: Dr.Chan, Ricky Wing Kwong; First Reader: Ms. Mong, Yu; Second Reader: Dr. Yu, Yuen Tak |
Abstract: | This report presents a data race detection tool which is FindRace. It can find concurrent bugs occurred in the multi-threaded program. Using multi-threaded program become more widely since the capability of computer has increased progressively. Since multi-threaded program run multi-processes simultaneously, it allows to run several inter-related processes at the same time. However, multi-threaded program may induce bugs if programmer controls the thread ineffective. Furthermore, he may not discover the bugs easily because different thread schedules will be generated every time. As a result, there is a need to use some analysis tools to identify some potential bugs. They can help programmer to find out those bugs easily and efficiently. Traditionally, programmer would notice the bugs occasionally. Then, he would try to find out the bugs by a set of test cases iteratively. Alternatively, programmer may trace the program line by line but it is very time consuming. Hence, it is inconvenient for programmer to find out the bugs efficaciously using those methods. The analysis tools can be classified into two types. They consist of static and dynamic. This report would focus on dynamic analysis mainly since it monitors the access operations repetitively during the program runtime. Although the preciseness of finding bugs is high and the time spent are less than the other methods, the analysis time is about eight times of the original running time. For large programs, the analysis time may be extremely long. Furthermore, most current analysis tools require specific platforms and some of them are operated in the command line. Consequently, the user-friendliness and platform dependency would affect their usability. Therefore, this report proposes a dynamic analysis tool - FindRace which identifies the potential races using shorter time. It consists of two parts. One part is applying some sampling algorithms to the existing analysis tool framework, which is RoadRunner, served as back-end component. It can shorten the analysis time by ignoring some operations and keep the precision by sampling desired operations, especially for repetitive operations. On the other hand, it provides a front-end graphical user interface panel, which works with the modified RoadRunner, to programmer. In conclusion, FindRace provides satisfactory performance in analysis data races. |
Appears in Collections: | Computer Science - Undergraduate Final Year Projects |
Files in This Item:
File | Size | Format | |
---|---|---|---|
fulltext.html | 146 B | HTML | View/Open |
Items in Digital CityU Collections are protected by copyright, with all rights reserved, unless otherwise indicated.