Ensuring thread safety in applications is crucial for preventing subtle and challenging
bugs in concurrent programming. This paper presents two algorithmic approaches to
improve thread safety through static analysis and to demonstrate their benefits in
real life, the authors also implemented them as two detectors in SpotBugs static analyzer.
These checkers are designed to identify unsafe usages of shared resources and improper
atomic operations in concurrent Java programming, aiming to mitigate common multithreading
issues such as race conditions. By emphasizing consistent locking strategies and the
correct use of atomic types, the study offers insight into how to improve the reliability
of multithreaded applications.