University of Ontario Institute of Technology
Identification of Java lock contention anti-patterns based on run-time performance data using machine learning algorithms
Abstract
dc:description.abstractLocks are critical in concurrent Java applications, ensuring synchronized access to shared resources. Mismanagement of locks and threads can result in contention, affecting performance and scalability. Eight Java lock contention anti-patterns have been identified, representing various scenarios of lock contention within intrinsic locks. Traditional methods for identifying these faults rely on legacy tools and experience. This study evaluates machine learning algorithms’ effectiveness in detecting lock contention anti-patterns. When the algorithms were trained and tested with a 70-30 split we obtained an accuracy above 90%. To validate the findings we used the Dacapo benchmark as the testing set and found XGBoost performing well among the rest with an overall accuracy of 87%. Logistic Regression, Random Forest and Support Vector Machine were the best performing models in terms of precision and recall values. We also validated our recommendations provided by comparing three important performance metrics between the original and refactored version of the anti-patterns.
Degree
thesis:*- Name thesis:degree_name
- Master of Applied Science (MASc)
- Discipline thesis:degree_discipline
- Electrical and Computer Engineering
- Grantor
- University of Ontario Institute of Technology
- Year dc:date.issued
- 2024
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Ahmed, Aritra
- Advisors dc:contributor.advisor
-
- Liscano, Ramiro
- Azim, Akramul
Rights
- Language dc:language.iso
- en
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- https://hdl.handle.net/10155/1767
- OAI identifier oai:identifier
- oai:ontariotechu.scholaris.ca:10155/1767