As an important technology to assure software quality, software testing is theindispensable part of software development. However, parallel program usually consists ofmultiple threads, and there are many complex and uncertain interactions between threads,which makes automated testing for parallel programs more difficult. How to express theinteraction between multiple threads and bug detecting algorithm for parallelprogramming are weaknesses during the automated testing,so they are worth research.Static testing is a form of software testing where the software isn’t actually used, itprimarily checks syntax of the code and document to find errors. The detail is that analysisthe structural of the source code、flow informations in source code and finally analysisvulnerabilities with the information obtain before. Compared with the dynamic testing,static testing is more efficient.Parallel programs were automated tested by static testing method, lexical and parsingalgorithm are applied to transform source code into the intermediate representation withparallelization extended, extracting the dependencies information between programstatements with the static analysis algorithms and composed of system dependence graphwhich supported parallel mechanism, then vulnerability detection algorithm has been usedto analyze the vulnerability in program with the dependency information obtain before.The testing based on security rules is that user provides security constraint rules first andtesting framework matches the program with security constraint rules in the process oftesting, finally, ouput the results of security testing. Experimental results show that, thesecurity testing framework for parallel programming is more superiorer in the detection ofparallel program. |