Abstract
Recently high-trustworthy software has been proposed and advocated by many academic and engineering communities. High-trustworthy algorithm is core to high-trustworthy software. In this paper, using PAR method we derive formally a high-trustworthy generic algorithmic program for solving general single-source path problems. Common characteristics of these path problems can be abstracted into an algebra structure-dioid. Some typical graph algorithms, such as Bellman-Ford single-source shortest path algorithm, Reachability problem algorithm, and Bottleneck problem algorithm, etc. are all instances of the generic algorithmic program. Our approach mainly employs formal derivation technology and generic technology. Main contribution is combining the two techniques into a systemic approach, which aims to develop high-trustworthy generic algorithmic program for solving general problems. According to our approach, the correctness, reliability, safety and development efficiency of algorithmic programs are greatly improved. It is expected to be a promising approach to develop high-trustworthy generic algorithmic program.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Hoare, T.: The Verifying Compiler: A Grand Challenge for Computing Research. J. of the ACM 50(1), 63–69 (2003)
Hoare, T., Misra, J., Shankar, N.: The IFIP Working Conference on Verified Software: Theories, Tools (2005)
The IFIP Working Conference on Verified Software: Theories, Tools, Experiments. Zurich (2005)
1st Asian Working Conference on Verified Software, Macao (2006)
High Confidence Software and System Coordinating Group. High Confidence Software and Systems Research Needs, USA (2001)
High confidence Medical Device Software and Systems (HCMDSS) Workshop, Philadelphia, June 2-3 (2005)
Xue, J.: A Unified Approach for Developing Efficient Algorithmic Programs. Journal of Science and Technology 12, 103–118 (1997)
Xue J.: A Practicable Approach for Formal Development of Algorithmic Programs. In: Proceedings of ISFST 1999. Published in Software Association in Japan, 158–160 (1999)
Xue, J.: Two New Strategies for Developing Loop Invariants and its Applications. Journal of Computer Science and Technology 8, 95–102 (1993)
Kleene, S.: Representation of events in nerve nets and finite automata. In: Shannon, McCarthy (eds.) Automata Studies, pp. 3–40. Princeton Univ. Press, Princeton (1956)
aho, A.V., Hopcroft, J.E. (eds.): The Design and Analysis of Computer Algorithms. Addison-Wesley Longman Publishing Co, Inc., Boston (1974)
Tarjan, R.E.: A unified approach to path problems. Journal of the Association for Computing Machinery 28, 577–593 (1981)
Backhouse, R.C., Eijnde, van Gasteren, A.J.M.: Calculating path algorithms. Science of Computer Programming 22, 3–19 (1994)
Boulmakoul, A.: Generalized path-finding algorithms on semirings and the fuzzy shortest path problem. J. of Computational and Applied Mathematics 162(1), 263–272 (2004)
Corman, T.H., Lieserson, C.E., Rivest, R.L.: Introduction to Algorithms. Prentice Hall India (1990)
Baase, S., Van Gelder, A.: Computer Algorithms: Introduction to Design and Analysis, 3rd edn. Addison-Wesley, Reading (1999)
Hoare, C.A.R.: An Axiomatic Basis for Computer Programming. Commun. ACM 12(10), 576–580 (1969)
Dijkstra, E.W.: A discipline of programming. Prentice Hall, Englewood Cliffs (1976)
Jones, C.B.: Systematic software development using VDM. Prentice Hall International Ltd., Hertfordshire (1986)
Davies, J., Woodcock, J.: Using Z: Specification, Refinement and Proof. Prentice Hall International Series in Computer Science. ISBN 0-13-948472-8 (1996)
Schneider, S., Palgrave: The B-Method: An Introduction. Cornerstones of Computing series (2001)
Smith, D.R.: Designware: software development by refinement. In: Proc. of the 8th Int’l Conference on Category Theory and Computer Science (CTCS 1998), Edinburgh, pp. 3–21 (1999)
Jinyun, X.: Developing the Generic Path Algorithmic Program and Its instantiations Using PAR Method. In: Proceedings of The Second Asian Workshop on Programming Languages, KAIST, Korea (2001)
yun, X.J., Davis, R.: A Derivation and Proof of Knuth’ Binary to Decimal Program. Software—Concepts and Tools, 149–156 (1997)
yun, X.J.: Formal Development of Graph Algorithmic Programs Using Partition-and-Recur. Journal of Computer Sciences and Technology 13(6), 143–151 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wang, C., Xue, J. (2009). Formal Derivation of a High-Trustworthy Generic Algorithmic Program for Solving a Class of Path Problems. In: Deng, X., Hopcroft, J.E., Xue, J. (eds) Frontiers in Algorithmics. FAW 2009. Lecture Notes in Computer Science, vol 5598. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02270-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-02270-8_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02269-2
Online ISBN: 978-3-642-02270-8
eBook Packages: Computer ScienceComputer Science (R0)