Journal of Computer Science and Technology ›› 2021, Vol. 36 ›› Issue (4): 839-855.doi: 10.1007/s11390-020-1003-3

Special Issue: Software Systems; Theory and Algorithms

• Regular Paper • Previous Articles     Next Articles

Using Markov Chain Based Estimation of Distribution Algorithm for Model-Based Safety Analysis of Graph Transformation

Einollah Pira        

  1. Faculty of Information Technology and Computer Engineering, Azarbaijan Shahid Madani University Tabriz 5375171379, Iran
  • Received:2019-10-06 Revised:2020-10-11 Online:2021-07-05 Published:2021-07-30
  • About author:Einollah Pira received his B.Sc. degree in computer engineering (software) from the University of Kharazmi, Tehran, Iran, 2000, his M.Sc. degree in computer engineering (software) from the Sharif University of Technology, Tehran, Iran, 2002, and his Ph.D. degree in computer engineering (software) from Arak University, Arak, Iran, 2017. Currently, he is an assistant professor with Department of Information Technology and Computer Engineering, Azarbaijan Shahid Madani University, Tabriz, Iran. His research interests include model checking, formal methods, software testing, and search-based software engineering.

The ability to assess the reliability of safety-critical systems is one of the most crucial requirements in the design of modern safety-critical systems where even a minor failure can result in loss of life or irreparable damage to the environment. Model checking is an automatic technique that verifies or refutes system properties by exploring all reachable states (state space) of a model. In large and complex systems, it is probable that the state space explosion problem occurs. In exploring the state space of systems modeled by graph transformations, the rule applied on the current state specifies the rule that can perform on the next state. In other words, the allowed rule on the current state depends only on the applied rule on the previous state, not the ones on earlier states. This fact motivates us to use a Markov chain (MC) to capture this type of dependencies and applies the Estimation of Distribution Algorithm (EDA) to improve the quality of the MC. EDA is an evolutionary algorithm directing the search for the optimal solution by learning and sampling probabilistic models through the best individuals of a population at each generation. To show the effectiveness of the proposed approach, we implement it in GROOVE, an open source toolset for designing and model checking graph transformation systems. Experimental results confirm that the proposed approach has a high speed and accuracy in comparison with the existing meta-heuristic and evolutionary techniques in safety analysis of systems specified formally through graph transformations.

Key words: safety analysis; model checking; Markov chain; estimation of distribution algorithm; graph transformation system;

[1] Rausand M. Reliability of Safety-Critical Systems:Theory and Applications. John Wiley & Sons, 2014. DOI:10.1002/9781118776353.
[2] Lahtinen J, Valkonen J, Björkman K, Frits J, Niemelä I, Heljanko K. Model checking of safety-critical software in the nuclear engineering domain. Reliab. Eng. Syst. Saf., 2012, 105:104-113. DOI:10.1016/j.ress.2012.03.021.
[3] Yousefian R, Rafe V, Rahmani M. A heuristic solution for model checking graph transformation systems. Appl. Soft Comput., 2014, 24:169-180. DOI:10.1016/j.asoc.2014.06.055.
[4] Francesca G, Santone A, Vaglini G, Villani M L. Ant colony optimization for deadlock detection in concurrent systems. In Proc. the 35th Annual IEEE International Computer Software and Applications Conference, July 2011, pp.108-117. DOI:10.1109/COMPSAC.2011.22.
[5] Alba E, Chicano F. Finding safety errors with ACO. In Proc. the 9th Annual Conference on Genetic and Evolutionary Computation, July 2007, pp.1066-1073. DOI:10.1145/1276958.1277171.
[6] Rafe V, Moradi M, Yousefian R, Nikanjam A. A metaheuristic solution for automated refutation of complex software systems specified through graph transformations. Appl. Soft Comput., 2015, 33:136-149. DOI:10.1016/j.asoc.2015.04.032.
[7] Pira E, Rafe V, Nikanjam A. Deadlock detection in complex software systems specified through graph transformation using Bayesian optimization algorithm. J. Syst. Softw., 2017, 131:181-200. DOI:10.1016/j.jss.2017.05.128.
[8] Pira E, Rafe V, Nikanjam A. EMCDM:Efficient model checking by data mining for verification of complex software systems specified through architectural styles. Appl. Soft Comput., 2016, 49:1185-1201. DOI:10.1016/j.asoc.2016.06.039.
[9] Pira E, Rafe V, Nikanjam A. Searching for violation of safety and liveness properties using knowledge discovery in complex systems specified through graph transformations. Inf. Softw. Technol., 2018, 97:110-134. DOI:10.1016/j.infsof.2018.01.004.
[10] Bicarregui J, Matthews B. Proof and refutation in formal software development. In Proc. the 3rd Irish Workshop on Formal Methods, July 1999.
[11] Koller D, Friedman N. Probabilistic Graphical Models:Principles and Techniques (1st edition). MIT Press, 2009.
[12] Pelikan M, Goldberg D E, Cantú-Paz E. Linkage problem, distribution estimation, and Bayesian networks. Evol. Comput., 2000, 8(3):311-340. DOI:10.1162/106365600750078808.
[13] Lahtinen J, Kuismin T, Heljanko K. Verifying large modular systems using iterative abstraction refinement. Reliab. Eng. Syst. Saf., 2015, 139:120-130. DOI:10.1016/j.ress.2015.03.012.
[14] Rozenberg G. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1:Foundations. World Scientific, 1997. DOI:10.1142/3303.
[15] Kastenberg H, Rensink A. Model checking dynamic states in GROOVE. In Proc. the 13th International SPIN Workshop on Model Checking of Software, March 30-April 1, 2006, pp.299-305. DOI:10.1007/1169161719.
[16] Staunton J, Clark J A. Searching for safety violations using estimation of distribution algorithms. In Proc. the 3rd International Conference on Software Testing, Verification, and Validation, April 2010, pp.212-221. DOI:10.1109/ICSTW.2010.24.
[17] Staunton J, Clark J A. Finding short counterexamples in promela models using estimation of distribution algorithms. In Proc. the 13th Annual Conference on Genetic and Evolutionary Computation, July 2011, pp.1923-1930. DOI:10.1145/2001576.2001834.
[18] Staunton J, Clark J A. Applications of model reuse when using estimation of distribution algorithms to test concurrent software. In Proc. the 3rd International Symposium on Search Based Software Engineering, September 2011, pp.97-111. DOI:10.1007/978-3-642-23716-412.
[19] Pira E, Rafe V, Nikanjam A. Using evolutionary algorithms for reachability analysis of complex software systems specified through graph transformation. Reliab. Eng. Syst. Saf., 2019, 191:Article No. 106577. DOI:10.1016/j.ress.2019.106577.
[20] Yousefian R, Aboutorabi S, Rafe V. A greedy algorithm versus metaheuristic solutions to deadlock detection in graph transformation systems. J. Intell. Fuzzy Syst., 2016, 31(1):137-149. DOI:10.3233/IFS-162127.
[21] Yang X S. A new metaheuristic bat-inspired algorithm. In Proc. the 2010 Nature Inspired Cooperative Strategies for Optimization, May 2010, pp.65-74. DOI:10.1007/978-3-642-12538-66.
[22] Baier C, Katoen J P. Principles of Model Checking. MIT Press, 2008.
[23] Sivanandam S N, Deepa S N. Introduction to Genetic Algorithms. Springer, 2008. DOI:10.1007/978-3-540-73190-0.
[24] Groce A, Visser W. Heuristics for model checking Java programs. Int. J. Softw. Tools Technol. Transf., 2004, 6(4):260-276. DOI:10.1007/s10009-003-0130-9.
[25] Edelkamp S, Lafuente A L, Leue S. Protocol verification with heuristic search. In Proc. the 2001 Spring Symposium Series, March 2001.
[26] Schmidt Á. Model checking of visual modeling languages. Bp Univ Technol Hung. 2004.
[27] Bellovin S M, Cheswick W R. Network firewalls. IEEE Commun. Mag., 1994, 32(9):50-57. DOI:10.1109/35.312843.
[28] Azim M R S, Mahmud K, Das C K. Automatic train track switching system with computerized control from the central monitoring unit. International Journal of u-and eService, Science and Technology, 2014, 7(1):201-212. DOI:10.14257/ijunesst.2014.7.1.18.
[1] Wan-Wei Liu, Fu Song, Tang-Hao-Ran Zhang, Ji Wang. Verifying ReLU Neural Networks from a Model Checking Perspective [J]. Journal of Computer Science and Technology, 2020, 35(6): 1365-1381.
[2] Fei Fang, Fei Luo, Hong-Pan Zhang, Hua-Jian Zhou, Alix L. H. Chow, Chun-Xia Xiao. A Comprehensive Pipeline for Complex Text-to-Image Synthesis [J]. Journal of Computer Science and Technology, 2020, 35(3): 522-537.
[3] Momodou L. Sanyang, Ata Kabán. Large-Scale Estimation of Distribution Algorithms with Adaptive Heavy Tailed Random Projection Ensembles [J]. Journal of Computer Science and Technology, 2019, 34(6): 1241-1257.
[4] Hoon Park, Anping He, Marly Roncken, Xiaoyu Song, Ivan Sutherland. Modular Timing Constraints for Delay-Insensitive Systems [J]. , 2016, 31(1): 77-106.
[5] Yang Liu, Xuan-Dong Li, Yan Ma. A Game-Based Approach for PCTL* Stochastic Model Checking with Evidence [J]. , 2016, 31(1): 198-216.
[6] Jun-Gang Xu, Yue Zhao, Jian Chen, Chao Han. A Structure Learning Algorithm for Bayesian Network Using Prior Knowledge [J]. , 2015, 30(4): 713-724.
[7] Concha Bielza, Juan A. Fernández del Pozo, and Pedro Larrañaga. Parameter Control of Genetic Algorithms by Learning and Simulation of Bayesian Networks —— A Case Study for the Optimal Ordering of Tables [J]. , 2013, 28(4): 720-731.
[8] Liya Liu, Osman Hasan, and Sofiène Tahar. Formal Reasoning About Finite-State Discrete-Time Markov Chains in HOL [J]. , 2013, 28(2): 217-231.
[9] Yang Liu, Huai-Kou Miao, Hong-Wei Zeng, Yan Ma, and Pan Liu. Nondeterministic Probabilistic Petri Net — A New Method to Study Qualitative and Quantitative Behaviors of System [J]. , 2013, 28(1): 203-216.
[10] Sa'ed Abed, Member, ACM, IEEE, Yassine Mokhtari, Otmane Ait-Mohamed, Member, ACM, IEEE, and Sofiène Tahar, Senior Member, IEEE, Member, ACM. NuMDG: A New Tool for Multiway Decision Graphs Construction [J]. , 2011, 26(1): 139-152.
[11] Dian-Xiang Xu, Senior Member, IEEE, Omar El-Ariss, Wei-Feng Xu, Senior Member, IEEE, and Lin-Zhang Wang, Member, CCF, ACM, IEEE. Aspect-Oriented Modeling and Verification with Finite State Machines [J]. , 2009, 24(5): 949-961.
[12] San-Cheng Peng, Student Member, CCF, Wei-Jia Jia, Member, ACM, Senior Member, IEEE, and Guo-Jun Wang, Senior Member, CCF. Survivability Evaluation in Large-Scale Mobile Ad-Hoc Networks [J]. , 2009, 24(4): 761-774.
[13] Hai-Bin Zhang and Zhen-Hua Duan, Senior Member, CCF, IEEE. Symbolic Algorithmic Analysis of Rectangular Hybrid Systems [J]. , 2009, 24(3): 534-543.
[14] Patrick H. S. Brito, Rogerio de Lemos, Cecilia M. F. Rubira, and Eliane Martins. Architecting Fault Tolerance with Exception Handling: Verification and Validation [J]. , 2009, 24(2): 212-237.
[15] Liang Xu, Wei Chen, Yan-Yan Xu, and Wen-Hui Zhang. Improved Bounded Model Checking for the Universal Fragment of CTL [J]. , 2009, 24(1 ): 96-109 .
Full text



[1] Zhou Di;. A Recovery Technique for Distributed Communicating Process Systems[J]. , 1986, 1(2): 34 -43 .
[2] Chen Shihua;. On the Structure of Finite Automata of Which M Is an(Weak)Inverse with Delay τ[J]. , 1986, 1(2): 54 -59 .
[3] Li Wanxue;. Almost Optimal Dynamic 2-3 Trees[J]. , 1986, 1(2): 60 -71 .
[4] C.Y.Chung; H.R.Hwa;. A Chinese Information Processing System[J]. , 1986, 1(2): 15 -24 .
[5] Zhang Cui; Zhao Qinping; Xu Jiafu;. Kernel Language KLND[J]. , 1986, 1(3): 65 -79 .
[6] Wang Jianchao; Wei Daozheng;. An Effective Test Generation Algorithm for Combinational Circuits[J]. , 1986, 1(4): 1 -16 .
[7] Chen Zhaoxiong; Gao Qingshi;. A Substitution Based Model for the Implementation of PROLOG——The Design and Implementation of LPROLOG[J]. , 1986, 1(4): 17 -26 .
[8] Huang Heyan;. A Parallel Implementation Model of HPARLOG[J]. , 1986, 1(4): 27 -38 .
[9] Zheng Guoliang; Li Hui;. The Design and Implementation of the Syntax-Directed Editor Generator(SEG)[J]. , 1986, 1(4): 39 -48 .
[10] Huang Xuedong; Cai Lianhong; Fang Ditang; Chi Bianjin; Zhou Li; Jiang Li;. A Computer System for Chinese Character Speech Input[J]. , 1986, 1(4): 75 -83 .

ISSN 1000-9000(Print)

CN 11-2296/TP

Editorial Board
Author Guidelines
Journal of Computer Science and Technology
Institute of Computing Technology, Chinese Academy of Sciences
P.O. Box 2704, Beijing 100190 P.R. China
  Copyright ©2015 JCST, All Rights Reserved