Consistency Validation Method for Java Fine-Grained Lock Refactoring
Many existing refactoring tools reduce the possibility of lock conflicts and improve the concurrency of the system by reducing lock granularity and narrowing the scope of locked objects. However, such refactorings can lead to changes in concurrent program behavior, introduce concurrency errors, and...
Guardado en:
Autores principales: | , , |
---|---|
Formato: | article |
Lenguaje: | EN |
Publicado: |
IEEE
2021
|
Materias: | |
Acceso en línea: | https://doaj.org/article/341c562d6c1f440b9e1fb8aaedf5e6c7 |
Etiquetas: |
Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
|
id |
oai:doaj.org-article:341c562d6c1f440b9e1fb8aaedf5e6c7 |
---|---|
record_format |
dspace |
spelling |
oai:doaj.org-article:341c562d6c1f440b9e1fb8aaedf5e6c72021-11-18T00:11:00ZConsistency Validation Method for Java Fine-Grained Lock Refactoring2169-353610.1109/ACCESS.2021.3120414https://doaj.org/article/341c562d6c1f440b9e1fb8aaedf5e6c72021-01-01T00:00:00Zhttps://ieeexplore.ieee.org/document/9576065/https://doaj.org/toc/2169-3536Many existing refactoring tools reduce the possibility of lock conflicts and improve the concurrency of the system by reducing lock granularity and narrowing the scope of locked objects. However, such refactorings can lead to changes in concurrent program behavior, introduce concurrency errors, and often even produce code that does not compile or can be compiled but has changed semantics. To address the problem of changes in concurrent program behavior caused by transferring from coarse-grained locking to fine-grained lock refactoring, a refactoring consistency validation method for fine-grained locking is proposed. Firstly, the types of behavioral changes caused by the existing refactoring engine are analyzed in terms of thread interactions. Secondly, the relevant consistency checking rules are summarized according to the types. Finally, with the help of various program analysis techniques such as call graph analysis, alias analysis and side-effect analysis, the corresponding checking algorithms are designed according to the consistency checking rules to check the consistency of the program before and after refactoring. We implement an automatic validation tool as an Eclipse plug-in. Our approach is verified by ten open-source projects including HSQLDB, Xalan and Cassandra, etc. A total of 1,483 refactoring methods were tested, and 60 inconsistent synchronization behaviors were found, which improved the robustness of refactoring in terms of data dependence and execution order.Yang ZhangChunxia LiYu BaiIEEEarticleFine-grained lockrefactoringconsistency validationalias analysisside-effect analysisElectrical engineering. Electronics. Nuclear engineeringTK1-9971ENIEEE Access, Vol 9, Pp 149287-149301 (2021) |
institution |
DOAJ |
collection |
DOAJ |
language |
EN |
topic |
Fine-grained lock refactoring consistency validation alias analysis side-effect analysis Electrical engineering. Electronics. Nuclear engineering TK1-9971 |
spellingShingle |
Fine-grained lock refactoring consistency validation alias analysis side-effect analysis Electrical engineering. Electronics. Nuclear engineering TK1-9971 Yang Zhang Chunxia Li Yu Bai Consistency Validation Method for Java Fine-Grained Lock Refactoring |
description |
Many existing refactoring tools reduce the possibility of lock conflicts and improve the concurrency of the system by reducing lock granularity and narrowing the scope of locked objects. However, such refactorings can lead to changes in concurrent program behavior, introduce concurrency errors, and often even produce code that does not compile or can be compiled but has changed semantics. To address the problem of changes in concurrent program behavior caused by transferring from coarse-grained locking to fine-grained lock refactoring, a refactoring consistency validation method for fine-grained locking is proposed. Firstly, the types of behavioral changes caused by the existing refactoring engine are analyzed in terms of thread interactions. Secondly, the relevant consistency checking rules are summarized according to the types. Finally, with the help of various program analysis techniques such as call graph analysis, alias analysis and side-effect analysis, the corresponding checking algorithms are designed according to the consistency checking rules to check the consistency of the program before and after refactoring. We implement an automatic validation tool as an Eclipse plug-in. Our approach is verified by ten open-source projects including HSQLDB, Xalan and Cassandra, etc. A total of 1,483 refactoring methods were tested, and 60 inconsistent synchronization behaviors were found, which improved the robustness of refactoring in terms of data dependence and execution order. |
format |
article |
author |
Yang Zhang Chunxia Li Yu Bai |
author_facet |
Yang Zhang Chunxia Li Yu Bai |
author_sort |
Yang Zhang |
title |
Consistency Validation Method for Java Fine-Grained Lock Refactoring |
title_short |
Consistency Validation Method for Java Fine-Grained Lock Refactoring |
title_full |
Consistency Validation Method for Java Fine-Grained Lock Refactoring |
title_fullStr |
Consistency Validation Method for Java Fine-Grained Lock Refactoring |
title_full_unstemmed |
Consistency Validation Method for Java Fine-Grained Lock Refactoring |
title_sort |
consistency validation method for java fine-grained lock refactoring |
publisher |
IEEE |
publishDate |
2021 |
url |
https://doaj.org/article/341c562d6c1f440b9e1fb8aaedf5e6c7 |
work_keys_str_mv |
AT yangzhang consistencyvalidationmethodforjavafinegrainedlockrefactoring AT chunxiali consistencyvalidationmethodforjavafinegrainedlockrefactoring AT yubai consistencyvalidationmethodforjavafinegrainedlockrefactoring |
_version_ |
1718425154032238592 |