Java程序自动锁分解重构  被引量:1

Automated Split Lock Refactoring for Java Programs

在线阅读下载全文

作  者:陶彬贤[1] 张磊[1] 钱巨[1] 

机构地区:[1]南京航空航天大学计算机科学与技术学院,南京210016

出  处:《计算机科学与探索》2013年第5期451-459,共9页Journal of Frontiers of Computer Science and Technology

基  金:国家自然科学基金Nos.60903026;61100034~~

摘  要:许多并发程序存在同步粒度过粗的问题,可以通过锁分解等代码重构来逐步演化同步结构,提高程序并行性。然而,手工重构一方面识别重构契机较为困难,另一方面代码转换也容易出错。为克服手工重构中存在的问题,提出了一种针对Java程序的自动锁分解重构方法。它可以根据已有的同步代码,自动识别锁分解重构契机,并对相关代码进行转换。实验表明,该方法可以有效识别真实程序中的可重构代码,并准确实施转换,为并发程序的演化提供支持。Many concurrent programs use too coarse synchronizations to protect the accesses of shared data structures. To optimize such synchronizations, people use refactorings, e.g., split lock refactoring, to gradually evolve the synchronization code for better parallelization. However, manually identifying the refactoring opportunities is difficult and code transformations by hand are error-prone. To address the problems of manual refactoring, this paper proposes an automated split lock refactoring approach for Java programs. It can automatically analyze the source code to find the refactoring opportunities and make proper code transformations. The experiment shows that the approach can find effective split lock refactoring opportunities in real projects and correctly transform the refactoring code. This indicates that the approach is helpful for concurrent program evolution.

关 键 词:JAVA 并发 同步 锁分解 重构 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象