Transcript

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.


Recommended