Abstract
Binary tree traversal algorithm can be applied in many aspects, such as information encryption, Network, operating systems, cluster computing and so on. We have already proposed a useful method to verify the correctness of algorithmic programs based on Isabelle proof assistant and Dijkstra’s weakness precondition theory, and have manually derived and verified binary tree traversal non-recursive algorithms in our previous work. In order to ensure the security of the non-recursive algorithms, the focus of this paper is to construct a unified recurrence-relations expression about preorder, in-order, and post-order binary tree traversal non-recursive algorithms. The recurrence-relations expression make it easier to derive the loop invariants of three algorithms. Meanwhile, we automatically verify the correctness of three kinds of non-recursive algorithms by using a generic proof assistant Isabelle. This work realizes mechanically automatic-verification and overcomes the intricacies and weakness of manual verification, improves the verification efficiency, and ensures the trustworthiness and reliability of the algorithm program.









Similar content being viewed by others
References
Wu, C., Li, G., Huang, C. et al.: Adaptive index deletion in XML document based on tree traversal order. In: 2nd International Conference on Biomedical Engineering and Informatics BMEI’09, IEEE, pp. 1–4 (2009)
Ammari, K., Mercier, D., Régnier, V.: Spectral analysis of the Schrödinger operator on binary tree-shaped networks and applications. J. Differ. Equ. 259(12), 6923–6959 (2015)
Poornima, A.S., Amberker, B.B.: Binary tree based cluster key management scheme for heterogeneous sensor networks. In: 2008 16th IEEE International Conference on Networks. pp. 1–6 (2008)
Horowitz, E., Zorat, A.: The binary tree as an interconnection network: applications to multiprocessor systems and VLSI. IEEE Trans. Comput. 100(4), 247–253 (1981)
Dai, Q., Wu, J.: Computation of minimal uniform transmission range in ad hoc wireless networks. Clust. Comput. J. Netw. Softw. Tools Appl. 8(2–3), 127–133 (2005)
Xu, K., Song, M., Song, J.: An improved P2P lookup protocol model. Clust. Comput. J. Netw. Softw. Tools Appl. 13(2), 199–211 (2010)
Ruijun, Z., Bichao, G.: Application of RSA encryption algorithm based on binary tree in truck scale Weighing system. In: 2011 International Conference on Internet Technology and Applications (iTAP), IEEE, pp. 1–4 (2011)
Lu, Y., Li, J.: Constructing forward-secure identity-based encryption from identity-based binary tree encryption. In: 2012 International Symposium on Information Science and Engineering (ISISE), IEEE, pp. 199–202 (2012)
Mao, S., Zang, H., Ni, B.: Research on semantic web service composition based on binary tree. Int. J. Grid Distrib. Comput. 8(2), 133–142 (2015)
Nomura, A., Matsuba, H., Ishikawa Y.: Network performance model for TCP/IP based cluster computing. In: IEEE International Conference on Cluster Computing, pp. 194–203 (2007)
Jones, T.O.: Fifth Gen White Paper: The Fifth Gen Bianry Tree Cluster Computer (BTC-100X). http://www.fifthgen.com/pdf/Overview120809.pdf. Accessed July 2016
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, New York (2001)
Blanchette, J. C., Bulwahn, L., Nipkow, T.: Automatic proof and disproof in Isabelle/HOL. In: Frontiers of Combining Systems. Springer, Berlin, pp. 12–27 (2011)
Nipkow, T.: Programming and Proving in Isabelle/HOL. http://isabelle.in.tum.de/dist/Isabelle2016/doc/prog-prove.pdf. Accessed July 2016
Nipkow, T., Paulson, L. C., Wenzel, M.: A Proof Assistant for Higher-Order Logic. Version of February 17, 2016. http://isabelle.in.tum.de/doc/tutorial.pdf. Accessed July 2016
Xue, J.: A unified approach for developing efficient algorithm of programs. J. Comput. Sci. Technol. 12(4), 314–329 (1997)
Jinyun, X.: PAR method and its supporting platform. In: Proceedings of the 1st Asian working Conference on Verified Software (AWCVS 2006), pp. 29–31 (2006)
Tian, F., Shi, H., Zuo, Z., Wang, C., Xue, J.: The java-based novel implementation for an abstract generic mechanism computer engineering and applications. J. Jiangxi Norm. Univ. (Nat. Sci. Ed.) 40(1), 77–82 (2016). (in Chinese)
Xue, J., Davis, R: A simple program whose derivation and proof is also. In: Proceedings of the International Conference on Formal Engineering Methods, ICFEM, pp. 132–139 (1997)
Gries, D., Xue J.Y.: The Hopcroft–tarjan Planarity Algorithm, Presentations and Improvements. Technical Report 88–906, Computer Science Department, Cornell University (1988)
Wuping, X.: Implementation of Hopcroft–Tarjan Planarity Testing Algorithm in Apla Language. Technical Report of Jiangxi Normal University (in Chinese) (2009)
Xue, J.Y., Yang, B., Zuo Z.K.: A Linear in-situ algorithm for the power of cyclic permutation. In: Proceedings of the 2nd Int’l Frontiers of Algorithmics Workshop (FAW 2008). LNCS 5059, Heidelberg: Springer, pp. 113–123 (2008)
Huanglei, Y., Jinyun, X.: The research on methods of developing a class of loop invariants of single-variable-assignment type. J. Jiangxi Norm. Univ. (Nat. Sci. Ed.) 38(4), 378–382 (2014)
Yang, B.: Implementation of Bank Management System in Apla Language. Technical Report of Jiangxi Normal University, (in Chinese) (2008)
Wu G.: The Application and Research of PAR Platform in Software Outsourcing Services [MS. Thesis]. Nanchang: Jiangxi Normal University (in Chinese with English abstract) (2013)
Jinyun, X.: Two new strategies for developing loop invariants and their applications. J. Comput. Sci. Technol. 8(2), 147–154 (1993). (in Chinese)
Jinyun, X.: PAR method: abstract programming language apla. Technical report. Key Laboratory of high performance computing technology, Jiangxi Normal University (in Chinese) (2001)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, New York (1989)
Zhen, Y., Jinyun, X.: Formal verification of algorithm program based on Isabelle theorem prover. Comput. Eng. Sci. 10, 85–89 (2009). (in Chinese)
Zuo, Z., You, Z.: Derivation and formal proof of the binary tree non-recursive algorithm for the post-order traversal. Comput. Eng. Sci. 03, 119–123 (2010). (in Chinese)
Arora, N., Kumar Tamta, V., Kumar, S.: Modified non-recursive algorithm for reconstructing a binary tree. Int. J. Comput. Appl. 43(10), 25–28 (2012)
Shuai, L.U.O.: The analysis and realization of traversing binary tree with non-recursive algorithm. Comput. Knowl. Technol. 4, 032 (2008)
Das V.V.: A new non-recursive algorithm for reconstructing a binary tree from its traversals. In: 2010 International Conference on Advances in Recent Technologies in Communication and Computing (ARTCom), IEEE, pp. 261–263 (2010)
Wang, M.: Non-recursive simulation on the recursive algorithm of binary tree reverting to its corresponding forest in intelligent materials. Appl. Mech. Mater. 63, 222–225 (2011)
Loginov, A., Reps, T., Sagiv, M.: Automated Verification of the Deutsch-Schorr-Waite Tree-Traversal Algorithm. Static Analysis., pp. 261–279. Springer, Berlin (2006)
Acknowledgments
This work was financially supported in part by the National Nature Science Foundation of China (Grant Nos. 61462041, 61462039, 61472167), the National Natural Science Foundation of Jiangxi Province (Grant No. 20142BAB217023) and the Science and Technology Research Project of Jiangxi Province Educational Department (Grant No. GJJ150349).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
You, Z., Xue, J. & Zuo, Z. Unified formal derivation and automatic verification of three binary-tree traversal non-recursive algorithms. Cluster Comput 19, 2145–2156 (2016). https://doi.org/10.1007/s10586-016-0663-9
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-016-0663-9