PyTsan: Automated Data Race Detection in Python Programs

-д хадгалсан:
Номзүйн дэлгэрэнгүй
-д хэвлэсэн:ProQuest Dissertations and Theses (2025)
Үндсэн зохиолч: Gong, Chaoyue
Хэвлэсэн:
ProQuest Dissertations & Theses
Нөхцлүүд:
Онлайн хандалт:Citation/Abstract
Full Text - PDF
Шошгууд: Шошго нэмэх
Шошго байхгүй, Энэхүү баримтыг шошголох эхний хүн болох!

MARC

LEADER 00000nab a2200000uu 4500
001 3234803780
003 UK-CbPIL
020 |a 9798290903026 
035 |a 3234803780 
045 2 |b d20250101  |b d20251231 
084 |a 66569  |2 nlm 
100 1 |a Gong, Chaoyue 
245 1 |a PyTsan: Automated Data Race Detection in Python Programs 
260 |b ProQuest Dissertations & Theses  |c 2025 
513 |a Dissertation/Thesis 
520 3 |a Python and its ecosystem have become integral to modern software development. Despite Python’s popularity, CPython, the reference implementation, has significant performance limitations compared with other widely used programming language implementations. In particular, while CPython supports threads and concurrency, it also uses a global interpreter lock (GIL) to synchronize the execution of Python code. As a result, developers both intentionally and unintentionally overlook subtle synchronization details when writing Python code. In 2023, CPython finally added a build option to compile a “free-threaded” variant of CPython without a GIL. The long-existing GIL minimizes the likelihood of unsynchronized code manifesting as bugs, but such races easily start appearing in a free-threaded build of CPython.In this thesis, we present PyTsan, a dynamic data race detector designed for Python, capable of methodologically detecting hard-to-find data races. When running it on CPython 3.10’s standard library test suite, PyTsan reports 29 data races. Two of those data races were reported by others experimenting with CPython’s new free-threaded build, but had otherwise existed undetected for over 10 years. Furthermore, PyTsan shows that for one of the “fixed” bugs, on architectures other than x86/amd64, such as ARM or RISC-V, the merged resolution is insufficient. 
653 |a Computer engineering 
653 |a Computer science 
653 |a Information technology 
773 0 |t ProQuest Dissertations and Theses  |g (2025) 
786 0 |d ProQuest  |t ProQuest Dissertations & Theses Global 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3234803780/abstract/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/3234803780/fulltextPDF/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch