ABSTRACT
Challenges in developing distributed applications have given rise to various different design techniques and technologies. This paper presents an algebraic approach using formal verification and model-based testing that can be applied to different development stages. The insertion modeling system software developed by the authors of this paper is used to implement this approach and to apply it to the model-driven development of distributed systems based on blockchain consensus protocols.
- Algebraic Programming System, APS, www.apsystem.org.uaGoogle Scholar
- A. Letichevsky, O. Letychevskyi, and V. Peschanenko, "Insertion Modeling and Its Applications", Computer Science Journal of Moldova, Vol. 24, Issue 3, 2016, pp. 357--370.Google Scholar
- A. Letichevsky, J. Kapitonova, A. Letichevsky Jr., V. Volkov, S. Baranov, V. Kotlyarov, and T. Weigert, "Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications", Computer Networks, 47, 2005, pp. 662--675. Google ScholarDigital Library
- Z3 decision procedure. https://github.com/Z3Prover/z3Google Scholar
- CVC4 decision procedure. http://cvc4.cs.stanford.eduGoogle Scholar
- A. Letichevsky and D. Gilbert, "Interaction of agents and environments," in: Recent Trends in Algebraic Development Technique, LNCS 1827 (D. Bert and C. Choppy, eds.), Springer-Verlag, 1999. Google ScholarDigital Library
- ITU-T Recommendation, Z.151, User Requirements Notation (URN) - Language definition.Google Scholar
- ITU-T Recommendation, Z.120, Message Sequence Charts (MSC).Google Scholar
- Prometheus consensus protocol, https://github.com/pandoraboxchain/prometheus-pythonGoogle Scholar
- A. Letichevsky, O. Letychevskyi, and V. Peschanenko, "An Interleaving Reduction for Reachability Checking in Symbolic Modeling", in V. Ermolayev et al. (eds.) Proc. 11-th Int. Conf. ICTERI 2015, Lviv, Ukraine, May 14--16, 2015, CEUR-WS.org/Vol-1356, ISSN 1613-0073, pp. 338--353.Google Scholar
- P. Cousot, "Formal Verification by Abstract Interpretation", Lecture Notes in Computer Science, 2012, vol. 7211, pp. 3--7, Springer. Google ScholarDigital Library
- A. Cimatti and A. Griggio, "Software Model Checking via IC3", in P. Madhusudan and S. A. Seshia (eds), Computer Aided Verification (CAV) 2012. Lecture Notes in Computer Science, Vol. 7358, Springer, Berlin, Heidelberg, 2012. Google ScholarDigital Library
- C. Dragoi, T. A. Henzinger, H. Veith, J. Widder, and D. Zufferey, "A Logic-Based Framework for Verifying Consensus Algorithms", Proceedings of the 15th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI), San Diego, CA, USA, January 19--21, 2014. Google ScholarDigital Library
- A. Gervais, G. O. Karame, K. Wust, V. Glykantzis, H. Ritzdorf, and S. Capkun, "On the Security and Performance of Proof of Work Blockchains", Tech. Rep., IACR: Cryptology ePrint Archive, 2016.Google Scholar
- A. Kiayias, A. Russell, B. David, and R. Oliynykov, "Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol", CRYPTO 2017: Advances in Cryptology, pp. 357--388, 2017.Google ScholarCross Ref
- J.-S. Song, C. Cadar, and P. Pietzuch, "SYMBEXNET: Testing Network Protocol Implementations with Symbolic Execution and Rule-based Specifications", IEEE Transactions on Software Engineering, Vol. 40, Issue 7, pp. 695--709, 2014. Google ScholarDigital Library
- S. K. Cha, T. Avgerinos, A. Rebert, and D. Brumley, "Unleashing Mayhem on Binary Code," Proceedings of the IEEE Symposium on Security and Privacy, pp. 380--394, 2012. Google ScholarDigital Library
- DARPA, "Cyber Grand Challenge." {Online}. Available: https: //www.cybergrandchallenge.com/Google Scholar
- C. Huang, G. Zhai, and G. Xu, "An Algebraic Approach to Designing Consensus Algorithm of Networked High Dimensional Agents", 36th Chinese Control Conference (CCC), IEEE, 2017.Google ScholarCross Ref
- A. Letichevsky, "Algebra of Behavior Transformations and its Applications", in V. B. Kudryavtsev and I. G. Rosenberg (eds.), Structural Theory of Automata, Semigroups, and Universal Algebra, NATO Science Series II. Mathematics, Physics and Chemistry - V. 207, pp. 241--272, Springer, 2005.Google Scholar
Index Terms
- Algebraic Approach to Verification and Testing of Distributed Applications
Recommendations
Formal verification of ASMs using MDGs
We present a framework for the formal verification of abstract state machine (ASM) designs using the multiway decision graphs (MDG) tool. ASM is a state based language for describing transition systems. MDG provides symbolic representation of transition ...
Verification approach of metropolis design framework for embedded systems
In this paper, we focus on the verification approach of Metropolis, an integrated design framework for heterogeneous embedded systems. The verification approach is based on the formal properties specified in Linear Temporal Logic (LTL) or Logic of ...
Coverage metrics for formal verification
In formal verification, we verify that a system is correct with respect to a specification. Even when the system is proven to be correct, there is still a question of how complete the specification is and whether it really covers all the behaviors of ...
Comments