Synchronizing billion-scale automata

Abstract Synchronizing sequences for large-scale automata have gained popularity recently due to their practical use cases especially to have a faster and better testing process. In many applications, shorter sequences imply less overhead and faster processing time but the problem of finding the shortest synchronizing sequence is NP–hard and requires heuristic approaches to be solved. State-of-the-art heuristics manage to obtain desirable, short sequences with relatively small execution times. However, all these heuristics suffer their quadratic memory complexity and fail to scale when the input automaton gets larger. In this paper, we propose an approach exploiting GPUs and hybrid parallelism which can generate synchronizing sequences even for billion-scale automata, in a short amount of time. Overall, the algorithm can generate a synchronizing sequence for a random automaton with n = 10 8 states in 12.1 seconds, n = 5 × 10 8 states in 69.1 seconds, and billion states in 148.2 seconds.

[1]  Uraz Cengiz Türker,et al.  Multicore and manycore parallelization of cheap synchronizing sequence heuristics , 2020, J. Parallel Distributed Comput..

[2]  Ján Cerný,et al.  On directable automata , 1971, Kybernetika (Praha).

[3]  Itu-T Specification and Description Language (SDL) , 1999 .

[4]  Kamer Kaya,et al.  Synchronizing Heuristics: Speeding up the Slowest , 2018, ICTSS.

[5]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[6]  Robert M. Hierons,et al.  Reduced Length Checking Sequences , 2002, IEEE Trans. Computers.

[7]  Robert M. Hierons Using a minimal number of resets when testing from a finite state machine , 2004, Inf. Process. Lett..

[8]  Nina Yevtushenko,et al.  Testing from partial deterministic FSM specifications , 2005, IEEE Transactions on Computers.

[9]  Hasan Ural,et al.  Construction of checking sequences based on characterization sets , 1995, Comput. Commun..

[10]  Hasan Ural,et al.  Reduced checking sequences using unreliable reset , 2015, Inf. Process. Lett..

[11]  David Eppstein,et al.  Reset Sequences for Monotonic Automata , 1990, SIAM J. Comput..

[12]  Mikhail V. Volkov,et al.  Slowly Synchronizing Automata with Idempotent Letters of Low Rank , 2018, J. Autom. Lang. Comb..

[13]  Uraz Cengiz Türker,et al.  Complexities of Some Problems Related to Synchronizing, Non-Synchronizing and Monotonic Automata , 2015, Int. J. Found. Comput. Sci..

[14]  Mikhail V. Volkov,et al.  Synchronizing monotonic automata , 2004, Theor. Comput. Sci..

[15]  Nina Yevtushenko,et al.  On reducing test length for FSMs with extra states , 2012, Softw. Test. Verification Reliab..

[16]  Mikhail V. Volkov,et al.  Synchronizing Automata and the Cerny Conjecture , 2008, LATA.

[17]  Uraz Cengiz Türker Parallel brute-force algorithm for deriving reset sequences from deterministic incomplete finite automata , 2019, Turkish J. Electr. Eng. Comput. Sci..

[18]  Qing Li,et al.  Unified Modeling Language , 2009 .

[19]  Xiaolin Wu,et al.  On Minimizing the Lengths of Checking Sequences , 1997, IEEE Trans. Computers.

[20]  Edmund M. Clarke,et al.  Model Checking and the State Explosion Problem , 2011, LASER Summer School.

[21]  F. C. Hennine Fault detecting experiments for sequential circuits , 1964, SWCT 1964.

[22]  A. Roman,et al.  Effective synchronizing algorithms , 2012, Expert Syst. Appl..

[23]  Mikhail V. Berlinkov,et al.  Algebraic synchronization criterion and computing reset words , 2016, Inf. Sci..

[24]  Adam Roman,et al.  Synchronizing finite automata with short reset words , 2009, Appl. Math. Comput..