Skip to main content
Log in

Unified formal derivation and automatic verification of three binary-tree traversal non-recursive algorithms

  • Published:
Cluster Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. 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)

  2. 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)

    Article  MATH  Google Scholar 

  3. 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)

  4. 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)

    Article  MathSciNet  Google Scholar 

  5. 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)

    Google Scholar 

  6. Xu, K., Song, M., Song, J.: An improved P2P lookup protocol model. Clust. Comput. J. Netw. Softw. Tools Appl. 13(2), 199–211 (2010)

    Google Scholar 

  7. 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)

  8. 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)

  9. 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)

    Article  Google Scholar 

  10. 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)

  11. 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

  12. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, New York (2001)

    MATH  Google Scholar 

  13. 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)

  14. Nipkow, T.: Programming and Proving in Isabelle/HOL. http://isabelle.in.tum.de/dist/Isabelle2016/doc/prog-prove.pdf. Accessed July 2016

  15. 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

  16. Xue, J.: A unified approach for developing efficient algorithm of programs. J. Comput. Sci. Technol. 12(4), 314–329 (1997)

  17. 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)

  18. 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)

    Google Scholar 

  19. 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)

  20. Gries, D., Xue J.Y.: The Hopcroft–tarjan Planarity Algorithm, Presentations and Improvements. Technical Report 88–906, Computer Science Department, Cornell University (1988)

  21. Wuping, X.: Implementation of Hopcroft–Tarjan Planarity Testing Algorithm in Apla Language. Technical Report of Jiangxi Normal University (in Chinese) (2009)

  22. 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)

  23. 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)

    Google Scholar 

  24. Yang, B.: Implementation of Bank Management System in Apla Language. Technical Report of Jiangxi Normal University, (in Chinese) (2008)

  25. 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)

  26. Jinyun, X.: Two new strategies for developing loop invariants and their applications. J. Comput. Sci. Technol. 8(2), 147–154 (1993). (in Chinese)

    Article  MathSciNet  Google Scholar 

  27. Jinyun, X.: PAR method: abstract programming language apla. Technical report. Key Laboratory of high performance computing technology, Jiangxi Normal University (in Chinese) (2001)

  28. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  29. Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, New York (1989)

    MATH  Google Scholar 

  30. Zhen, Y., Jinyun, X.: Formal verification of algorithm program based on Isabelle theorem prover. Comput. Eng. Sci. 10, 85–89 (2009). (in Chinese)

    Google Scholar 

  31. 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)

    Google Scholar 

  32. 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)

    Google Scholar 

  33. Shuai, L.U.O.: The analysis and realization of traversing binary tree with non-recursive algorithm. Comput. Knowl. Technol. 4, 032 (2008)

    MathSciNet  Google Scholar 

  34. 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)

  35. 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)

    Google Scholar 

  36. Loginov, A., Reps, T., Sagiv, M.: Automated Verification of the Deutsch-Schorr-Waite Tree-Traversal Algorithm. Static Analysis., pp. 261–279. Springer, Berlin (2006)

    MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Zhen You.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-016-0663-9

Keywords

Navigation