Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov

Embed Size (px)

DESCRIPTION

5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Graph Exploration for Testing Test Scenario Model Model State Stimuli Exploration Model Graph System Under Test ReactionsStimuli

Citation preview

Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov Institute for System Programming of the Russian Academy of Sciences 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Model-Based Testing Requirements System Under Test Model Are conformant? Reactions Stimuli Test System Test generation Correctness checking Test quality estimation 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Graph Exploration for Testing Test Scenario Model Model State Stimuli Exploration Model Graph System Under Test ReactionsStimuli 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Model Graph Size The problem: size of a model graph 10 5 nodes and 10 6 arcs Possible solution: factorization But a model graph is still huge! 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Distributed Graph Exploration 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Test System Architecture 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Model Graph Storage Model Graph Storage manages information about a known part of a model graph 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Traverser Traverser fills up the storage when exploring a model graph 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Main Test Loop Main Test Loop applies test actions and analyses SUTs reactions 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Synchronizer Synchronizer is responsible for information exchange 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Communication Topologies Ring Torus 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 User Interface 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Case Study 3 industrial projects on hardware verification >10 tests with model graphs of nodes Experimental results: model graph: nodes and arcs Number of computers TopologyExecution time, min Parallelization efficiency 1803,31 81Ring Torus 9x Ring Torus 10x 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Conclusion Distributed graph exploration significantly speeds up testing (communication overhead < 20%) The described approach has been implemented in the UniTESK testing tools Current implementation is able to handle model graphs with 10 6 nodes and 10 7 arcs 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Future Work Dynamic reconfiguration of communication topology (adding and removing computers and links) Support of multi-core/processors computers with shared memory (sharing model graph storage) Memory optimization of a model graph representation Splitting a model graph into several weakly connected sub-graphs (in the current implementation computer should have enough memory to store a whole model graph) 5 th Open Cirrus Summit, Moscow, June 01-03, of 16 Thank You! 5 th Open Cirrus Summit, Moscow, June 01-03, The synchronization protocol Synchronizer receives all incoming network messages and asks Traverser for local update R (received) - a set of arcs in the received messages S (sent) - a set of arcs that have been already sent via the outgoing connections of the process N (new) - a local update A set of new arcs received from other processes R \ (S N) is added to Model Graph Storage. A message containing a set of arcs (R N) \ S is sent via all outgoing connections. A set of sent arcs is updated: S := S R N.