Font Size: a A A

Research And Implementation Of Consistency Detection Method For Concurrency-Oriented Software Refactoring

Posted on:2020-10-12Degree:MasterType:Thesis
Country:ChinaCandidate:S X SunFull Text:PDF
GTID:2428330602968339Subject:Computer technology
Abstract/Summary:PDF Full Text Request
In recent years,the popularity and rapid development of multi-core processors have made multi-threaded concurrent programs more and more popular.To make concurrent programs simple and efficient,researchers have applied software refactoring techniques to concurrent programs.The inherent uncertainty and concurrency of concurrent programs during runtime makes it easy to cause concurrency problems after refactoring concurrent programs,resulting in inconsistencies behavior before and after refactoring.Therefore,it is very important that the consistency detection of the behavior of the refactoring program.Consistency detection not only minimizes the inconsistencies of existing,but also improves developer development efficiency and reduces maintenance costs as much as possible.Based on the above background,this paper studies the consistency problem of concurrent refactoring.To detect the inconsistency of behaviors in concurrent software refactoring,this paper further studies the causes of behavioral inconsistency after refactoring and proposes a static consistency detection method based on the WALA software analysis framework.Firstly,we use the control flow analysis to construct the control flow graph before and after refactoring,and compare node information that may appear inconsistent behavior before and after refactoring.Secondly,the synchronized keyword is detected and the synchronization dependency analysis is performed basis on the control flow to detect whether the synchronization dependence of before and after refactoring is equivalent.Then,data flow analysis is used to compare the changes in data flow before and after refactoring to find the nodes with possible behavior inconsistency.Finally,we define three detection rules,deadlock detection,object reusable detection and static shared field detection.The three detection rules can accurately identify existing behavioral changes in the refactored program.This paper proposes a consistency detection tool based on the above theoretical research.In the experiment,the benchmark SPECjbb2005,HSQLDB,JGroups,Apache Cassandra and Apache Mina-core were selected to test the consistency detection tool.The experimental results show that the tool can correctly detect inconsistent,which shows that the consistency detection method proposed is feasible and effective.
Keywords/Search Tags:Concurrent software refactoring, Consistency detection, Control flow analysis, Synchronization dependency analysis, Data flow analysis
PDF Full Text Request
Related items