Font Size: a A A

Data Race Fault Oriented Mutation Strategy Research On Concurrent Program

Posted on:2017-11-04Degree:MasterType:Thesis
Country:ChinaCandidate:Y B WuFull Text:PDF
GTID:2348330491960873Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Mutation testing is a well-known testing approach which is based on fault injection. Recent year it has been widely used in serial program testing area. By using a simply strategy of having modification on the symbols or statements in program to inject the faults, it can easily to evaluate the ability of test cases to discover the unknown real faults. Concurrent mutation testing is just trying to apply the fault injection strategy to the multi-thread concurrent programs, in which test ability of test cases can be effectively reflected for testing concurrent programs.At present, the research of concurrent mutation testing is still in the base level which is mainly concentrating on designing and comparing different mutation operators. And existing concurrent mutation operators are mainly based on specification of program structure and characteristic of program language, so it makes the trigger ability of specific concurrent faults weak. In this paper, we first analyzed the effectiveness of data race faults which would be successfully triggered by existing mutation operators. Then, based on analysis results, we introduced two new mutation strategies named Lock-oriented Mutation Strategy (LMS) and Shared-variable-oriented Mutation Strategy (SMS). And based on those strategies, two new operators named Synchronized Lock Resting Operator (SLRO) and Move Shared Variable Operator (MSVO) had been designed specifically for concurrent mutation testing. At last, we introduced Synchronize relationship pairs Mutation Point Selection Strategy (SMPSS) which will generate more mutants to trigger the data racing faults.In order to analyze the comparison results of our mutation strategies with original strategies, we first chose 14 existing mutation operators to generate mutants on 12 concurrent programs from SIR and detect data racing faults by using Java Path Finder (JPF). Then, we compared those results with SLRO designed by LMS and MSVO designed by SMS. The results showed that, the SLRO and MSVO can generate more effective mutants with data racing fault than the mutants with original mutation operators. Based on the experiments, we can conclusion that our strategies are more effective than the original operators, which means new strategies can help to detect the data race faults more effectively in concurrent programs.
Keywords/Search Tags:concurrent mutation testing, data race fault, lock object, shared variable, mutation points selection
PDF Full Text Request
Related items