面向并发软件重构的一致性检测方法研究与实现
发布时间:2022-12-22 01:17
多核处理器的普及和快速发展使得多线程并发程序近年来变的越来越流行。为使并发程序变得简单和高效,研究人员将软件重构技术应用于并发程序中。并发程序在运行期间其内部具有的不确定性和并发性,使得在对并发程序进行重构后容易引发并发问题,导致重构前后行为发生不一致现象。因此对重构程序行为的一致性检测尤为重要。一致性检测不仅能够尽可能的减少存在的不一致问题,提高开发人员的开发效率,而且能够尽可能的降低后期的维护成本。在上述背景下,本文对并发重构的一致性问题进行研究。针对并发软件重构存在的行为不一致问题,本文对软件重构后产生的行为不一致原因进行了研究,提出以WALA软件分析框架为基础的静态一致性检测方法和工具。该工具首先使用控制流分析构造重构前后的控制流图,对比重构前后可能出现行为不一致的节点信息;其次,针对synchronized关键字进行检测。在控制流的基础上进行同步依赖分析,检测重构前后同步依赖关系是否等价;再次,使用数据流分析,对比重构前后数据流信息的变化,找出可能出现行为不一致的节点信息;最后,定义死锁检测、对象重用检测和静态共享字段检测3种检测规则对重构后程序进行检测,以此更加精确的找出存...
【文章页数】:69 页
【学位级别】:硕士
【部分图文】:
软件重构概述[16]
同步机制之间的重构对于同步机制的重构,大量的研究人员对此做了相关研究
重构并发关注点分离框架
【参考文献】:
期刊论文
[1]Eclipse的CDT插件分析[J]. 田丹. 信息通信. 2018(01)
[2]并行环境下Java哈希机制的对比及重构[J]. 郑雅洁,张冬雯,张杨,郭松,梁亚楠,魏萌萌,于欣. 河北工业科技. 2017(06)
[3]面向软件错误检测的数据流分析[J]. 张广梅,李景霞. 计算机科学. 2016(S1)
[4]面向Java锁机制的字节码自动重构框架[J]. 张杨,张冬雯,仇晶. 计算机科学. 2015(11)
[5]回归测试用例优化选择研究综述[J]. 成亚玲,李健,彭湘华. 湖南工业职业技术学院学报. 2015(02)
[6]Eclipse插件体系结构的研究[J]. 谷钰,杨艳斌,王泽生. 电脑知识与技术. 2009(31)
硕士论文
[1]面向多线程机制的软件重构方法研究与实现[D]. 柳晨光.河北科技大学 2016
[2]基于控制流分析和数据流分析的Java程序静态检测方法的研究[D]. 王旭.西安电子科技大学 2015
[3]CODEREBUILDER:一种自动化Java并发程序重构工具的研究与实现[D]. 陶彬贤.南京航空航天大学 2014
[4]基于Eclipse的Java重构插件的设计与实现[D]. 李亚慧.电子科技大学 2013
本文编号:3723142
【文章页数】:69 页
【学位级别】:硕士
【部分图文】:
软件重构概述[16]
同步机制之间的重构对于同步机制的重构,大量的研究人员对此做了相关研究
重构并发关注点分离框架
【参考文献】:
期刊论文
[1]Eclipse的CDT插件分析[J]. 田丹. 信息通信. 2018(01)
[2]并行环境下Java哈希机制的对比及重构[J]. 郑雅洁,张冬雯,张杨,郭松,梁亚楠,魏萌萌,于欣. 河北工业科技. 2017(06)
[3]面向软件错误检测的数据流分析[J]. 张广梅,李景霞. 计算机科学. 2016(S1)
[4]面向Java锁机制的字节码自动重构框架[J]. 张杨,张冬雯,仇晶. 计算机科学. 2015(11)
[5]回归测试用例优化选择研究综述[J]. 成亚玲,李健,彭湘华. 湖南工业职业技术学院学报. 2015(02)
[6]Eclipse插件体系结构的研究[J]. 谷钰,杨艳斌,王泽生. 电脑知识与技术. 2009(31)
硕士论文
[1]面向多线程机制的软件重构方法研究与实现[D]. 柳晨光.河北科技大学 2016
[2]基于控制流分析和数据流分析的Java程序静态检测方法的研究[D]. 王旭.西安电子科技大学 2015
[3]CODEREBUILDER:一种自动化Java并发程序重构工具的研究与实现[D]. 陶彬贤.南京航空航天大学 2014
[4]基于Eclipse的Java重构插件的设计与实现[D]. 李亚慧.电子科技大学 2013
本文编号:3723142
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3723142.html