Show simple item record

dc.creatorDavis, Matthew James
dc.creatorTheriot, Dylan
dc.date.accessioned2021-07-24T00:31:36Z
dc.date.available2021-07-24T00:31:36Z
dc.date.created2022-05
dc.date.submittedMay 2022
dc.identifier.urihttps://hdl.handle.net/1969.1/194411
dc.description.abstractData races are a type of bug in concurrent programming which can result in unexpected program behavior. When multiple threads modify the same memory location in parallel, a data race occurs. Detecting these races is a difficult problem that becomes unrealistic for a programmer to perform at a large scale. Thus, automated data race detection has a large importance on fixing and verifying the correctness of parallel program behavior. There are two main types of data race detection: static and dynamic. Each analysis has its own set of limitations, and tools utilizing one type of analysis suffer from these drawbacks. We present Dynamatic, a hybrid race analysis tool which builds off of HPCRace for static analysis and Google’s Thread Sanitizer for dynamic analysis. Dynamatic performs analysis on C++ and Fortran code that is compiled down to LLVM’s IR. In particular, Dynamatic analyzes programs utilizing the OpenMP API for parallelization. The tool is able to leverage the best elements of both types of analysis - the level of coverage that static tools provide, and the low false positive rates of dynamic tools. Thus, the tool is able to mitigate these drawbacks 2 through its hybrid approach and analysis optimizations. Dynamatic efficiently and accurately detects data races in OpenMP programs and is competitive with tools such as Archer and ROMP on benchmarks.en
dc.format.mimetypeapplication/pdf
dc.subjectData Raceen
dc.subjectProgram Analysisen
dc.subjectOpenMPen
dc.subjectTSANen
dc.subjectLLVMen
dc.subjectHPCen
dc.subjectDynamic Analysisen
dc.subjectStatic Analysisen
dc.subjectHPCRaceen
dc.titleDynamatic: An OpenMP Race Detection Tool Combining Static and Dynamic Analysisen
dc.typeThesisen
thesis.degree.departmentComputer Science and Engineeringen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorUndergraduate Research Scholars Programen
thesis.degree.nameB.S.en
thesis.degree.levelUndergraduateen
dc.contributor.committeeMemberHuang, Jeff
dc.type.materialtexten
dc.date.updated2021-07-24T00:31:36Z


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record