软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2021年第12期:基于下推自动机的细粒度锁自动重构方法

发布日期:

作者:张杨,邵帅,张冬雯

单位:张杨,河北科技大学 信息科学与工程学院, 河北 石家庄 05001811,邵帅,河北科技大学 信息科学与工程学院, 河北 石家庄 05001802,张冬雯,河北科技大学 信息科学与工程学院, 河北 石家庄 05001803

关键词:细粒度锁;读写锁;重构;下推自动机;程序分析

基金:国家自然科学基金(61440012);河北省自然科学基金(18960106D);河北省高等学校科学研究计划(ZD2019093);河北省研究生创新资助项目(CXZZSS2020094)

针对粗粒度锁会严重影响并发程序的可伸缩性问题,提出一种面向细粒度锁的自动重构方法.该方法借助访问者模式分析、别名分析、负面效应分析等多种程序分析技术获取临界区代码的读写模式,然后使用下推自动机构建不同锁模式的识别方法,根据识别结果进行代码重构.与以往锁重构方法的不同之处在于,该方法考虑了锁降级模式,使重构适用性更广.基于此方法,在Eclipse JDT框架下,以插件的形式实现了自动重构工具FLock.在实验中,从重构个数、改变的代码行数、重构时间、准确性和重构后程序性能等方面对FLock进行了评估,并与已有的重构工具Relocker和CLOCK进行了对比.对HSQLDB,Jenkins和Cassandra等11个大型实际应用程序的重构结果表明:FLock共重构了1 757个内置监视器对象,每个程序重构平均用时17.5s.该重构工具可以有效地实现粗粒度锁到细粒度锁的转换,与手动重构相比,有效提升了细粒度锁的重构效率.

来源:2021年第12期

《软件学报》期刊编辑部

查看软件学报杂志2021年第12期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员