University of Leicester
yjpdc4193.pdf (1.42 MB)

Multicore and many core parallelization of cheap synchronizing sequence heuristics

Download (1.42 MB)
journal contribution
posted on 2020-03-26, 08:42 authored by Uraz Turker, Sertac Karahoda, Husnu Yenigun, Kamer Kaya, Osman Tufan Erenay
An important concept in finite state machine based testing is synchronization which is used to initialize an implementation to a particular state. Usually, synchronizing sequences are used for this purpose and the length of the sequence used is important since it determines the cost of the initialization process. Unfortunately, the shortest synchronization sequence problem is NP-Hard. Instead, heuristics are used to generate short sequences. However, the cubic complexity of even the fastest heuristic algorithms can be a problem in practice. In order to scale the performance of the heuristics for generating short synchronizing sequences, we propose algorithmic improvements together with a parallel implementation of the cheapest heuristics existing in the literature. To identify the bottlenecks of these heuristics, we experimented on random and slowly synchronizing automata. The identified bottlenecks in the algorithms are improved by using algorithmic modifications. We also implement the techniques on multicore CPUs and Graphics Processing Units (GPUs) to take benefit of the modern parallel computation architectures. The sequential implementation of the heuristic algorithms are compared to our parallel implementations by using a test suite consisting of 1200 automata. The speedup values obtained depend on the size and the nature of the automaton. In our experiments, we observe speedup values as high as 340x by using a 16-core CPU parallelization, and 496x by using a GPU. Furthermore, the proposed methods scale well and the speedup values increase as the size of the automata increases.



Journal of Parallel and Distributed Computing Volume 140, June 2020, Pages 13-24

Author affiliation

Department of Informatics


  • AM (Accepted Manuscript)

Published in

Journal of Parallel and Distributed Computing






Elsevier for Academic Press



Acceptance date


Copyright date


Publisher version