Dijkstra's interpretation of the approach to solving a problem of program correctness

Authors

  • Branko Markoski Technical Faculty, "Mihajlo Pupin", Zrenjanin
  • Petar Hotomski Technical Faculty "Mihajlo Pupin", Zrenjanin
  • Dušan Malbaški Faculty of Technical Sciences, Institute of Computing and Control, Novi Sad
  • Danilo Obradović Faculty of Technical Sciences, Institute of Computing and Control, Novi Sad

DOI:

https://doi.org/10.2298/YJOR1002229M

Keywords:

Dijkstra, denotative interpretation, predicate, terminate, operator.

Abstract

Proving the program correctness and designing the correct programs are two connected theoretical problems, which are of great practical importance. The first is solved within program analysis, and the second one in program synthesis, although intertwining of these two processes is often due to connection between the analysis and synthesis of programs. Nevertheless, having in mind the automated methods of proving correctness and methods of automatic program synthesis, the difference is easy to tell. This paper presents denotative interpretation of programming calculation explaining semantics by formulae φ and ψ, in such a way that they can be used for defining state sets for program P.

References

Floyd, R.W., ”Assigning meanings to programs”, In: Proc. Sym. in Applied Math., Mathematical Aspects of Computer Science, American Mathematical Society, 19, 1980, 19-32.

Hoare, C.A.R., “An axiomatic basis for computer programming”, Communications of the ACM, 12 (1980) 576-583.

Hoare, C.A.R., “Notes on data structuring” In: Dahl, Dijkstra, Hoare Structured programming, Academic Press, (1980) 83-174.

Hoare, C.A.R., and Wirth, N., “An axiomatic definition of the programming language Pascal”, Acta Informatica, 2, 1983, 335-355.

Manna, Z., “The correctness of programs”, Journal of Computer and System Science, 3 (2) 1979.

Dijkstra, E.W., A Discipline of Programming, Prentice –Hall, 1993.

Paul, C., and Jorgensen, Software Testing, CRC Press, 1995.

Dijkstra, E.W., A Discipline of Programming, Prentice Hall PTR, Upper Saddle River, NJ, 1997.

Sands, D., “Total correctness by local improvement in program transformation”, Proceedings of the 22nd ACM SIGPLAN –SIGAST symposium on Principles of programming languages, S. Francisco, California, United States, 1995.

De Boer, F.S., Gabbrielli, and Meo, M.C., “A timed concurrent constraint language”, Information and Computation, August 25, 2000.

Valencia, F.D., “Reactive constraint programming”, Tech. rep., Centre for Basic Research in Computer Science (BRICS), Denmark, 2000.

Lacey, D., Jones, D.N., Wyk, E.V., and Frederiksen, C.C., “Proving correctness of compiler optimizations by temporal logic”, Proceedings of the 29th ACM SIGPLAN –SIGAST Symposium on Principles of programming languages, Portland, United States, 2002.

Harrison-Gegg, T.S., Buce, G.R., Ganetyky, D., Rebecca, Olson, C.M., and Wilson, J.D., “Studying program correctness”, Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education, Thessaloniki, Greece, 2003.

Scott, E., Zadirov, A., Feinberg, S., and Jayakody, R., Proceedings of Informing Science Educational Technology Education Joint Conference, Pori, Finland, 2003.

Downloads

Published

2010-09-01

Issue

Section

Research Articles