Abstract
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.
Similar content being viewed by others
References
Rausand M. Reliability of Safety-Critical Systems: Theory and Applications. John Wiley & Sons, 2014. https://doi.org/10.1002/9781118776353.
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. https://doi.org/10.1016/j.ress.2012.03.021.
Yousefian R, Rafe V, Rahmani M. A heuristic solution for model checking graph transformation systems. Appl. Soft Comput., 2014, 24: 169-180. https://doi.org/10.1016/j.asoc.2014.06.055.
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. https://doi.org/10.1109/COMPSAC.2011.22.
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. https://doi.org/10.1145/1276958.1277171.
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. https://doi.org/10.1016/j.asoc.2015.04.032.
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. https://doi.org/10.1016/j.jss.2017.05.128.
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. https://doi.org/10.1016/j.asoc.2016.06.039.
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. https://doi.org/10.1016/j.infsof.2018.01.004.
Bicarregui J, Matthews B. Proof and refutation in formal software development. In Proc. the 3rd Irish Workshop on Formal Methods, July 1999.
Koller D, Friedman N. Probabilistic Graphical Models: Principles and Techniques (1st edition). MIT Press, 2009.
Pelikan M, Goldberg D E, Cantú-Paz E. Linkage problem, distribution estimation, and Bayesian networks. Evol. Comput., 2000, 8(3): 311-340. https://doi.org/10.1162/10636560075-0078808.
Lahtinen J, Kuismin T, Heljanko K. Verifying large modular systems using iterative abstraction refinement. Reliab. Eng. Syst. Saf., 2015, 139: 120-130. https://doi.org/10.1016/j.ress.2015.03.012.
Rozenberg G. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1: Foundations. World Scientific, 1997. https://doi.org/10.1142/3303.
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. https://doi.org/10.1007/11691617_19.
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. https://doi.org/10.1109/ICSTW.2010.24.
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. https://doi.org/10.1145/2001576.2001834.
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. https://doi.org/10.1007/978-3-642-23716-4_12.
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. https://doi.org/10.1016/j.ress.2019.106577.
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. https://doi.org/10.3233/IFS-162127.
Yang X S. A new metaheuristic bat-inspired algorithm. In Proc. the 2010 Nature Inspired Cooperative Strategies for Optimization, May 2010, pp.65-74. https://doi.org/10.1007/978-3-642-12538-6_6.
Baier C, Katoen J P. Principles of Model Checking. MIT Press, 2008.
Sivanandam S N, Deepa S N. Introduction to Genetic Algorithms. Springer, 2008. https://doi.org/10.1007/978-3-540-73190-0.
Groce A, Visser W. Heuristics for model checking Java programs. Int. J. Softw. Tools Technol. Transf., 2004, 6(4): 260-276. https://doi.org/10.1007/s10009-003-0130-9.
Edelkamp S, Lafuente A L, Leue S. Protocol verification with heuristic search. In Proc. the 2001 Spring Symposium Series, March 2001.
Schmidt Á. Model checking of visual modeling languages. Bp Univ Technol Hung. 2004.
Bellovin S M, Cheswick W R. Network firewalls. IEEE Commun. Mag., 1994, 32(9): 50-57. https://doi.org/10.1109/35.312843.
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 e-Service, Science and Technology, 2014, 7(1): 201-212. https://doi.org/10.14257/ijunesst.2014.7.1.18.
Author information
Authors and Affiliations
Corresponding author
Supplementary Information
ESM 1
(PDF 180 kb)
Rights and permissions
About this article
Cite this article
Pira, E. Using Markov Chain Based Estimation of Distribution Algorithm for Model-Based Safety Analysis of Graph Transformation. J. Comput. Sci. Technol. 36, 839–855 (2021). https://doi.org/10.1007/s11390-020-1003-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-020-1003-3