Identification of Java lock contention anti-patterns based on runtime performance data

Aritra Ahmed,Akramul Azim,Yee-Kang Chan,Ramiro Liscano,Vijay Sundaresan
DOI: https://doi.org/10.1145/3644032.3644466
2024-04-15
Abstract:Locks play a crucial role in multi-threaded applications, offering an effective solution for synchronizing shared resources. Yet, mishandling locks and threads can result in contention, leading to performance deterioration and compromising the scalability of software applications. In this study, several machine learning models were evaluated on how well they could detect the Java lock contention anti-pattern that caused the lock contention fault based on run time performance data. We trained the machine learning models with performance data generated from the execution of eight Java lock contention anti-patterns and tested the prediction of the models against 30% of the training data as well as performance data from six applications in the Dacappo benchmark that exhibit lock contention. Our results show that we can accurately identify the lock contention anti-pattern based on runtime performance data with an accuracy close to 90%.
Computer Science
What problem does this paper attempt to address?