Refactoring for Separation of Concurrent Concerns.

Yang Zhang,Dongwen Zhang,Weixing Ji,Yizhuo Wang
DOI: https://doi.org/10.1007/978-3-319-27137-8_9
2015-01-01
Abstract:Concurrent concerns commonly scatter among multithreaded software and tangle with core functionalities, which will make the concurrent software difficult to be maintained. Separation of concurrent concerns will benefit to improve the design of concurrent software and to manage the concurrency uniformly. This paper presents a refactoring framework to separate concurrent concerns from core functionalities using aspect-oriented approach. The refactoring framework illustrates in detail how to transform thread-related operations including threads, synchronization, barriers, and thread communications, into aspects that are designed to be reused. The refactoring framework is evaluated on SPECjbb2005 benchmark and several benchmarks in JGF benchmark suite by presenting the detailed refactoring process. Experimental results show that the framework is effective to refactoring these benchmarks.
What problem does this paper attempt to address?