Publication Date
2020
Document Type
Thesis
Committee Members
Junjie Zhang, Ph.D. (Advisor); Meilin Liu, Ph.D. (Committee Member); Michelle Cheatham, Ph.D. (Committee Member)
Degree Name
Master of Science (MS)
Abstract
Modern software applications frequently make use of multithreading to utilize hardware resources better and promote application responsiveness. In these applications, threads share the program state, and synchronization mechanisms ensure proper ordering of accesses to the program state. When a developer fails to implement synchronization mechanisms, data races may occur. Finding data races in an automated way is an already challenging problem, but often impractical without source code or understanding how to execute the program under analysis. In this thesis, we propose a solution for finding data races on software binaries and present our prototype implementation BINRELAY. Our solution makes use of symbolic execution to maximize program coverage without requiring specific inputs to be passed to the binary. Currently, BINRELAY is limited to the detection of data races on global variables, but with future work, our system could detect data races on variables in other scopes.
Page Count
64
Department or Program
Department of Computer Science and Engineering
Year Degree Awarded
2020
Copyright
Copyright 2020, all rights reserved. My ETD will be available under the "Fair Use" terms of copyright law.