Font Size: a A A

An Approach To Localize Concurrency Bugs Based On Constraint Solving

Posted on:2020-04-05Degree:MasterType:Thesis
Country:ChinaCandidate:G N WeiFull Text:PDF
GTID:2518306518963539Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Concurrent programs have become more and more popular.Due to the complexity of concurrent programs,concurrency defects are widespread in concurrent programs and have caused severe losses in the world.In order to overcome the concurrency defects and improve the reliability of concurrent programs,researchers and related practitioners have made great progress in the exposure,detection,location and repair of concurrent defects,but there are still some difficult problems that have not been solved.How to efficiently and quickly locate the root cause of concurrent defects is still a problem.In this paper,we proposes a concurrency defect location method based on constraint solving,which can efficiently and accurately locate the root cause of concurrent program failure.The proposed method accepts a concurrent program,randomly controls the concurrent program execution multiple times,records all program execution traces.From all program execution traces,one of the correct and one of the erroneous executions trace are collected,and from each of the two traces,a set of memory access patterns are extracted,and then we calculate the difference set of the two sets.Next,by using the static program analysis method,related memory access patterns are grouped.For each pattern group,we use constraint solving to generate an executable schedule.Finally,we execute the program according to the schedule,and find the error-prone memory access pattern group.In order to verify the accuracy and effectiveness of our method,we implemented a concurrent fault localization tool called CLC for Java programs based on MCR.we use CLC to locate 37 concurrent defects,and compared the result with one advanced methods.The experimental results show that our method can quickly and accurately locate the root cause of concurrency errors,and the effect of this method is also better than the other method.
Keywords/Search Tags:Concurrent Programs, Fault Localization, Constraint Solving, Memory Access Patterns
PDF Full Text Request
Related items