A Logical Treatment of Non-Termination and Program Behaviour ()
Abstract
Can the semantics of a
program be represented as a single formula? We show that one formula is
insufficient to handle assertions, refinement or slicing, while two formulae
are sufficient: A (S) , defining
non-termination, and B (S), defining
behaviour. Any two formulae A and B will define a corresponding
program. Refinement is defined as implication between these formulae.
Share and Cite:
Ward, M. and Zedan, H. (2014) A Logical Treatment of Non-Termination and Program Behaviour.
Journal of Software Engineering and Applications,
7, 555-561. doi:
10.4236/jsea.2014.77051.
Conflicts of Interest
The authors declare no conflicts of interest.
References
[1]
|
Ward, M. (2004) Pigs from Sausages? Reengineering from Assembler to C via Fermat Transformations. Science of Computer Programming, Special Issue on Program Transformation, 52, 213-255.
http://www.gkc.org.uk/martin/papers/migration-t.pdf
|
[2]
|
Dijkstra, E.W. (1976) A Discipline of Programming. Prentice-Hall, Englewood Cli?s.
|
[3]
|
Moszkowski, B. (1994) Some Very Compositional Temporal Properties. In: Olderog, E.-R., Ed., Programming Concepts, Methods and Calculi, IFIP Transactions, North-Holland Publishing Co., Amsterdam, 307-326.
|