Font Size: a A A

Testing-concurrent Programs Based On Mutation Testing And Empirical Study

Posted on:2018-10-24Degree:MasterType:Thesis
Country:ChinaCandidate:J Y JieFull Text:PDF
GTID:2428330545961096Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Reachability testing is an important approach to testing concurrent programs,which generates and exercises synchronization sequences automatically and on-the-fly without saving any test history.Reachability testing based on splitting strategy generates more fine-grained synchronized sequences to detect those synchronization faults that are not detected by inadequate test suites generated by traditional reachability testing is still not capable of deriving adequate interleavings between synchronization events on thereby not detecting synchronization faults due to using incorrect lock objects to protect shared variables.To this end,this thesis proposes a splitting strategy based on lock objects.Firstly,it uses static analysis technique to analyse source codes and find shared variables that are not protected by same objects in each thread.Then,choosing same lock pair object to split these shared variables and making these concurrent events relate to different monitor objects to schedule sufficiently.By this method,exposing synchronized faults in concurrent programs.This paper implements detecting concurrent bugs based on lock spliting tool LockSplitRichTest,and compares with RichTest,SplitRichTest based on split strategy and concurrent bugs detection based bug patterns tool PECAN to verify the effectiveness of LockSplitRichTest.Experimental result are as follow:(1)LockSplitRichTest can detect more concurrent bugs due to incorrect lock object than SplitRichTest and PECAN in 9 experimental program;(2)LockSplitRichTest can detect all concurrent bugs that SplitRichTest can detect,but LockSplitRichTest can reduce the spliting times.
Keywords/Search Tags:Concureent Program, Reachability Test, Mutation Operators, Lock
PDF Full Text Request
Related items