面向并发程序的重构一致性检测方法  被引量:1

Consistency Detection Method for Concurrent Code Refactoring

在线阅读下载全文

作  者:张杨[1] 孙仕欣 张冬雯[1] 东春浩 乔柳 ZHANG Yang;SUN Shixin;ZHANG Dongwen;DONG Chunhao;QIAO Liu(School of Information Science and Engineering,Hebei Universty of Science and Technology,Hebei Shijiazhuang 050018,China)

机构地区:[1]河北科技大学信息科学与工程学院,河北石家庄050018

出  处:《河北师范大学学报(自然科学版)》2020年第3期200-208,共9页Journal of Hebei Normal University:Natural Science

基  金:国家自然科学基金(61440012);河北省高等学校科学研究重点项目(ZD2019093);河北省自然科学基金重点项目(18960106)。

摘  要:针对并发软件重构后可能带来的行为不一致问题,提出了一种重构一致性检测方法,该方法使用控制流分析和数据流分析检测重构前后的变化,使用同步依赖分析检测重构前后同步依赖关系的变化.针对对象重用性、静态共享字段、死锁3种典型的引起并发错误的情况,设计了3种检测算法对重构前后程序的不一致性进行检测.依据该方法,在WALA软件分析框架下实现了一个原型检测工具.在实验中,使用该工具在SPECjbb2005和HSQLDB测试程序上进行了验证,并与Schafer等提出的方法进行比较,实验结果表明,该方法能够有效地发现并发软件重构的不一致行为.To detect the inconsistent behaviors in concurrent software before and after refactoring,this paper proposes a novel refactoring consistency detection method.It uses control flow analysis and data flow analysis to detect code changes before and after refactoring,and uses synchronization dependency analysis to detect changes of synchronization dependencies.In view of three typical cases of concurrent errors caused by object reusability,static shared fields and deadlock,three kinds of detection algorithms are designed to detect the inconsistency of programs before and after refactoring.A prototype detection tool is implemented in WALA software analysis framework.In the experimentation,two benchmarks SPECjbb2005 and HSQLDB were selected for evaluation,and the results were compared with existing approach proposed by Schafer et al.The experimental results show that our method can effectively find the inconsistent behaviors of concurrent software before and after refactoring.

关 键 词:并发软件重构 一致性检测 控制流分析 数据流分析 同步依赖分析 

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

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

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