earticle

논문검색

Automated Refactoring from Synchronized Locks to Reentrant Locks

초록

영어

Multi-threaded Java applications using synchronized or reentrant locks respectively exist performance trade-off. Parallel programmers usually use manual refactoring to test the performance of locks in a particular environment. However, manual refactoring is labor-intensive and error-prone. There is a strong need for automated support to find which one is more suitable to exert the performance of applications. This paper presents a refactoring framework to enable the transformation from synchronized locks to reentrant locks automatically. The framework analyzes global monitors based on Quad intermediate representation and visitor pattern in the Joeq compiler, validates the consistency of analysis results, and performs the transformation. The framework is evaluated on three benchmarks including red-black tree, producer-consumer problem, and SPECjbb2005. The total time is less than 4s for all three benchmarks on common desktop computer, and the successful refactoring results are observed.

목차

Abstract
 1. Introduction
 2. Why to Refactoring
 3. What to Refactoring
 4. Precondition
 5. How to Refactoring
  5.1. Overview of Refactoring Framework
  5.2. Analysis
  5.3. Consistency Validation
  5.4. Transformation
 6. Implementation of the Refactoring Framework
 7. Experimentation
  7.1. Experimental Setup
  7.2. Experimental Results
 8. Related Works
 9. Conclusions
 Acknowledgments
 References

저자정보

  • Yang Zhang School of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang, Hebei, China
  • Dongwen Zhang School of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang, Hebei, China
  • Huiyong Wang School of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang, Hebei, China

참고문헌

자료제공 : 네이버학술정보

    ※ 원문제공기관과의 협약기간이 종료되어 열람이 제한될 수 있습니다.

    0개의 논문이 장바구니에 담겼습니다.