| Author: | Yang, Jiawei |
| Title: | Enhancing points-to analysis for static data race detection in large industrial programs |
| Advisors: | Luo, Xiapu (COMP) |
| Degree: | M.Phil. |
| Year: | 2026 |
| Department: | Department of Computing |
| Pages: | xvii, 104 pages : color illustrations |
| Language: | English |
| Abstract: | The prevalence of parallel programming underscores the importance of static data race detection for software reliability. However, its effectiveness is often limited by imprecise points-to analysis. Conventional approaches, such as Andersen's points-to analysis, struggle to distinguish between fields within compound data structures, such as structs and arrays, leading to a high rate of false positives that hinders developer trust and adoption. In contrast, abstract interpretation-based points-to analysis offers better precision for handling compound data structures but faces scalability issues and may struggle to handle recursion precisely and efficiently. This thesis presents a two-pronged approach to enhance the precision of points-to analysis for race detection, without compromising scalability on large industrial programs. First, it introduces SLIRD, a framework designed to accurately resolve points-to relationships for compound data structures while maintaining scalability. SLIRD introduces a novel program slicing method to narrow the analysis on a minimal yet complete code scope, thereby ensuring scalability for the subsequent cross-domain abstract interpretation, which provides precise alias information to facilitate the downstream race detection. Second, this thesis also tackles a key challenge in abstract interpretation: the precise handling of recursion. To address this challenge, this thesis proposes RECTOPO, an innovative interprocedural fixpoint computation technique. RECTOPO establishes a new interprocedural weak topological ordering (IWTO) that allows recursive functions to be analyzed with the same precision and efficiency as loops. By systematically decomposing the program and managing analysis states across recursive call chains, this method avoids the significant over-approximations prevalent in existing tools. Empirical evaluation confirms the efficacy of both contributions. SLIRD demonstrates an average precision improvement of 89.1% over the baseline tool SVFRD on large-scale industrial programs while only incurring an average 4.8-fold overhead. RECTOPO shows a significant precision improvement of 46.51% and an increased bug detection recall rate of 32.98% on real-world recursive benchmarks. Collectively, this thesis delivers a more robust points-to analysis framework capable of tackling the complexities of large industrial parallel programs. |
| Rights: | All rights reserved |
| Access: | open access |
Copyright Undertaking
As a bona fide Library user, I declare that:
- I will abide by the rules and legal ordinances governing copyright regarding the use of the Database.
- I will use the Database for the purpose of my research or private study only and not for circulation or further reproduction or any other purpose.
- I agree to indemnify and hold the University harmless from and against any loss, damage, cost, liability or expenses arising from copyright infringement or unauthorized usage.
By downloading any item(s) listed above, you acknowledge that you have read and understood the copyright undertaking as stated above, and agree to be bound by all of its terms.
Please use this identifier to cite or link to this item:
https://theses.lib.polyu.edu.hk/handle/200/14390

