Abstract

Due to the fact that concurrent program's semantics can't be understood by relaxed memory model correctly, some unexpected faults, which are difficult to be detected, exist during its multi-threaded cross-execution. Therefore, this paper intends to establish an abstract memory model for concurrent program, conduct formal description of the memory access process that may exist in program memory access, and then utilize model checking technique to find out the common concurrent program error scenarios on this basis. We further design the semantic mutation operator, and investigate how to optimize the mutation process and how to generate mutants and test suite automatically. This study can set up a formal specification of concurrent program memory access semantics and provide a theoretical basis for other researches in the field of testing. It also serves as a basis to propose a semantic mutation testing technique oriented towards parallel program to assist parallel code testing in industry.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call