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

被引:0
|
作者
Ahmed, Aritra [1 ]
Liscano, Ramiro [1 ]
Azim, Akramul [1 ]
Chang, Yee-Kang [2 ]
Sundaresan, Vijay [2 ]
机构
[1] Ontario Tech Univ, Oshawa, ON, Canada
[2] IBM Canada, Toronto, ON, Canada
来源
PROCEEDINGS OF THE 2024 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST, AST 2024 | 2024年
基金
加拿大自然科学与工程研究理事会;
关键词
Lock Contention Faults; Lock Contention Anti-patterns; Supervised Machine Learning; SYNCHRONIZATION;
D O I
10.1145/3644032.3644466
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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%.
引用
收藏
页码:209 / 213
页数:5
相关论文
共 50 条
  • [1] Java']Java lock contention anti-patterns and their associated recommendations
    Ahmed, Aritra
    Liscano, Ramiro
    Azim, Akramul
    Chang, Yee-Kang
    Sundaresan, Vijay
    2024 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS, ICSTW 2024, 2024, : 144 - 151
  • [2] Lock Contention Performance Classification for Java']Java Intrinsic Locks
    Khan, Nahid Hasan
    Robertson, Joseph
    Liscano, Ramiro
    Azim, Akramul
    Sundaresan, Vijay
    Chang, Yee-Kang
    RUNTIME VERIFICATION (RV 2022), 2022, 13498 : 274 - 282
  • [3] Towards a Catalog of Java']Java Dependency Injection Anti-Patterns
    Laigner, Rodrigo
    Kalinowski, Marcos
    Carvalho, Luiz
    Mendonca, Diogo
    Garcia, Alessandro
    PROCEEDINGS OF THE XXXIII BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2019, 2019, : 104 - 113
  • [4] Anti-patterns for Java']Java Automated Program Repair Tools
    Wu, Yi
    2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 1367 - 1369
  • [5] DrAsync: Identifying and Visualizing Anti-Patterns in Asynchronous Java']JavaScript
    Turcotte, Alexi
    Shah, Michael D.
    Aldrich, Mark W.
    Tip, Frank
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 774 - 785
  • [6] The Runtime Performance of invokedynamic: An Evaluation with a Java']Java Library
    Ortin, Francisco
    Conde, Patricia
    Fernandez-Lanvin, Daniel
    Izquierdo, Raul
    IEEE SOFTWARE, 2014, 31 (04) : 81 - 89
  • [7] Measurement and analysis of runtime profiling data for Java']Java programs
    Horgan, J
    Power, J
    Waldron, J
    FIRST IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2001, : 122 - 130
  • [8] Java']Java data parallel extensions with runtime system support
    Wen, YH
    Carpenter, B
    Fox, G
    Zhang, GS
    FIFTH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, PROCEEDINGS, 1998, : 114 - 118
  • [9] Efficient Tracing and Versatile Analysis of Lock Contention in Java']Java Applications on the Virtual Machine Level
    Hofer, Peter
    Gnedt, David
    Schoergenhumer, Andreas
    Moessenboeck, Hanspeter
    PROCEEDINGS OF THE 2016 ACM/SPEC INTERNATIONAL CONFERENCE ON PERFORMANCE ENGINEERING (ICPE'16), 2016, : 263 - 274
  • [10] A DSL-based runtime adaptivity framework for Java']Java
    Carvalho, Tiago
    Bispo, Joao
    Pinto, Pedro
    Cardoso, Joao M. P.
    SOFTWAREX, 2023, 23