Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software
Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software作者机构:College of Computer Science and TechnologyNanjing University of Aeronautics and Astronautics State Key Laboratory for Novel Software TechnologyNanjing University
出 版 物:《Science China(Information Sciences)》 (中国科学:信息科学(英文版))
年 卷 期:2013年第56卷第1期
页 面:78-97页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:supported by National Natural Science Foundation of China (Grant Nos. 90818027 91018005 60903026 61003020)
主 题:concurrent synchronization refactoring dependence escape analysis
摘 要:With the keyword synchronized,Java provides a simple but often over-used synchronization *** programmers tend to use a big synchronized section to protect a large block of statements even if many of them are unnecessarily *** coarse-gained synchronizations may increase lock contention and thereby decrease the performance of a program,especially in a multi-core *** decrease in performance may affect the quality of service provided by the software and hence make the software less *** ensure trustworthiness,this paper proposes a source-code level refactoring approach to optimize coarse-gained *** exploits dependence and escape information to search for shrinkable critical sections and can transform them into smaller ones *** approach can be used to gradually evolve concurrent code for better *** the approach,to achieve more optimizations,we develop a new escape analysis,named escape state analysis,which can not only tell us whether an object finally escapes but also determine the escape states of objects at each program *** such an analysis,more refactoring opportunities can be *** build a tool and test our refactoring approach on several benchmark *** results show that the proposed approach does make effective refactoring suggestions for the users.