Transfinite semantics have been argued to be a proper framework for reasoning about correctness of certain program transformation techniques, e.g. program slicing. But transfinite semantics work fine only for non-recursive programs because of infinity being “one-way”.
This paper presents transfinite trace semantics in a different form which we call fractional semantics. The components of traces are indexed with rational numbers rather than ordinals. Rational numbers form both infinite ascending and infinite descending chains, so the principal obstacle of handling recursion disappears.
Although we have not yet found a fractional semantics appropriate for all cases of recursion, the approach seems to be promising. Another contribution achieved with help of fractional semantics is presenting both standard and transfinite trace semantics uniformly using fixpoints.
Unable to display preview. Download preview PDF.
- 3.Danicic, S., Harman, M., Howroyd, J., Ouarbya, L.: A Lazy Semantics for Program Slicing. In: Proceedings of the 1st International Workshop on Programming Language Interference and Dependence (2004), available at http://profs.sci.univr.it/~mastroen/download/PLID/Proceedings/Proceedings.html
- 7.Nestra, H.: Transfinite Semantics in Program Slicing. Proceedings of the Estonian Academy of Sciences. Engineering 11(4), 313–328 (2005)Google Scholar