Asynchronously communicating program is the program that processes achieve non-blocking concurrency through asynchronous message passing. At present, the verification problem of asynchronously communicating program is usually reduced to vector addition system and its extension model, so it has high complexity and lack of efficient tools. Basic Parallel Processes, as a subclass of vector addition system, whose verification of complexity reachability is NP-complete, can also be used as an important model for verifying concurrent programs. Firstly, improve the Actor communicating system proposed by Osualdo, et al., by reducing it to Basic Parallel Processes. Then, realizing an automatic model checker for basic parallel processes named RABLE. The experimental results show that the verification method is more efficient than the existing tools for a series of program verification problems of asynchronously communicating programs.
[2] D'Osualdo E, Kochems J, Ong CHL.Automatic verification of erlang-style concurrency.In:Proc.of the Int'l Static Analysis Symp.Berlin:Springer-Verlag, 2013.454-476.
[3] Carlsson R.An introduction to Core Erlang.In:Proc.of the PLI 2001 Erlang Workshop.2001.
[4] Kochems J.Verification of asynchronous concurrency and the shaped stack constraint.Oxford:Oxford University, 2014.
[5] Ong CHL, Ramsay SJ.Verifying higher-order functional programs with pattern-matching algebraic data types.In:Proc.of the POPL.2011.587-598.
[6] Sen K, Viswanathan M.Model checking multithreaded programs with asynchronous atomic methods.In:Ball T, Jones RB, eds.Lecture Notes in Computer Science:Computer Aided Verification, CAV 2006.Seattle:Springer-Verlag, 2006.300-314.[doi:10.1007/11817963_29]
[7] Emmi M, Ganty P, Majumdar R, et al.Analysis of asynchronous programs with event-based synchronization.In:Vitek J, ed.Proc.of the 24th European Symp.on Programming, LNCS:Programming Languages and Systems, ESOP 2015.London:Springer-Verlag, 2015.535-559.
[8] Qadeer S, Rehof J.Context-bounded model checking of concurrent software.In:Halbwachs N, Zuck LD, eds.Lecture Notes in Computer Science:Tools and Algorithms for the Construction and Analysis of Systems, the 11th Int'l Conf.(TACAS).Berlin:Springer-Verlag, 2005.93-107.
[9] Kochems J, Ong CL.Safety verification of asynchronous pushdown systems with shaped stacks.In:D'Argenio PR, Melgratti HC, eds.Proc.of the CONCUR 2013, Vol.8052.Berlin:Springer-Verlag, 2013.288-302.
[10] Leroux J, Schmitz S.Reachability in vector addition systems is primitive recursive in fixed dimension.In:Proc.of the 34th Annual ACM/IEEE Symp.on Logic in Computer Science, LICS 2019.Vancouver:IEEE, 2019.1-13.[doi:10.1109/LICS.2019.8785796]
[11] Czerwinski W, Lasota S, Lazic R, et al.The reachability problem for Petri nets is not elementar.In:Charikar M, Cohen E, eds.Proc.of the 51st Annual ACM SIGACT Symp.on Theory of Computing, STOC 2019.New York:ACM, 2019.24-33.[doi:10.1145/3313276.3316369]
[12] Rackoff C.The covering and boundedness problems for vector addition systems.Theoretical Computer Science 6, 1978, 223-231.
[13] Esparza J.Decidability and complexity of Petri net problems-An introduction.In:Advanced Course on Petri Nets.Berlin:Springer-Verlag, 1996.374-428.[doi:10.1007/3-540-65306-6_20]
[14] Kaiser A, Kroening D, Wahl T.Efficient coverability analysis by proof minimization.In:Koutny M, Ulidowski I, eds.Proc.of the CONCUR 2012.LNCS 7454, Berlin:Springer-Verlag, 2012.500-515.[doi:10.1007/978-3-642-32940-1_35]
[15] Esparza J, Ledesma-Garza R, Majumdar R, et al.An SMT-based approach to coverability analysis.In:Biere A, Bloem R, eds.Proc.of the CAV 2014.Cham:Springer-Verlag, 2014.603-619.
[16] Christensen S.Decidability and decomposition in process algebras[Ph.D.Thesis].Edinburgh:The University of Edinburgh, Department of Computer Science, 1993.
[17] Verma KN, Seidl H, Schwentick T.On the complexity of equational horn clauses.In:Nieuwenhuis R, ed.Proc.of the Automated Deduction-CADE2020.LNCS 3632.Berlin:Springer-Verlag, 2005.337-352.
[18] Yang QZ, Li GQ.Model on asynchronous communication program verification based on communicating Petri nets.Ruan Jian Xue Bao/Journal of Software, 2017, 28(4):804-818(in Chinese with nglish abstract).http://www.jos.org.cn/1000-9825/5191.htm[doi:10.13328/j.cnki.jos.005191]
[19] Ding RJ, Li GQ.Efficient implementation of coverability verification on communication-free Petri net.Ruan Jian Xue Bao/Journal of Software, 2019, 30(7):1939-1952(in Chinese with English abstract).http://www.jos.org.cn/1000-9825/5750.htm[doi:10.13328/j.cnki.jos.005750]
[20] Tan JH, Li GQ.Bounded model checking liveness on basic parallel processes.Ruan Jian Xue Bao/Journal of Software, 2020, 31(8):2388-2403(in Chinese with English abstract).http://www.jos.org.cn/1000-9825/5959.htm[doi:10.13328/j.cnki.jos.005959]
[21] Fu H.Model checking EGF on basic parallel processes.In:Proc.of the 9th Int'l Symp.on Automated Technology for Verification and Analysis.Berlin:Springer-Verlag, 2011.120-134.[doi:10.1007/978-3-642-24372-1_10]
[23] Karp RM, Miller RE.Parallel Program Schemata.Journal of Computer and System Sciences, 1969, 3(2):147-195.
[24] Barrett C, Tinelli C.Satisfiability modulo theories.Journal on Satisfiability Boolean Modeling and Computation, 2018, 3(3):141-224.
[25] Moura LD, Bjørner N.Z3:An efficient SMT solver.In:Proc.of the Int'l Conf.on Tools and Algorithms for the Construction and Analysis of Systems.Berlin:Springer-Verlag, 2008.337-340.
[26] Tan JH.Verification of asynchronous communication program based on basic parallel processes[MS.Thesis].Shanghai:Shanghai Jiao Tong University, 2020(in Chinese with English abstract).
[27] Hague M, Lin A W.Synchronisation-and reversal-bounded analysis of multithreaded programs with counters.In:Madhusudan P, Seshia SA, eds.Proc.of the 24th Int'l Conf.on Computer Aided Verification.LNCS 7358, Berlin:Springer-Verlag, 2012.260-276.