Liscano, RamiroAzim, AkramulRobertson, Joseph2023-04-252023-04-252023-04-01https://hdl.handle.net/10155/1619Java Based Multithreaded programs are used in a wide variety of applications and consequently many developers are required to create code designed for synchronized environments. However, finding problems in synchronized code can be a time-consuming task, and an inability to properly find and fix all problems results in contention problems and failures. Currently the approach used to find these problems is to run the code and, if problems are found, further investigate related areas. We have created a static analysis program that examines input Java code and checks it against a series of antipatterns to determine possible issues. The program was tested on several programs designed as examples of the antipatterns, and a set of open-source code. It was found that some of the antipatterns created do appear in open-source java code, and the tool created for their identification was able to reliably locate them in testing and open-source code.enJava concurrencyLock-contentionRun-time faultsStatic analysisAntipatternsJava lock contention antipatterns and their detection within Java codeThesis