The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Constraint-Based Verification of Client-Server Protocols
CP '01 Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming
Automatic Verification of Parameterized Cache Coherence Protocols
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Inductively Verifying Invariant Properties of Parameterized Systems
Automated Software Engineering
Time, space, and energy in reversible computing
Proceedings of the 2nd conference on Computing frontiers
A structural approach to reversible computation
Theoretical Computer Science
Verification as a parameterized testing (experiments with the SCP4 supercompiler)
Programming and Computing Software
Logical reversibility of computation
IBM Journal of Research and Development
Rapid parameterized model checking of snoopy cache coherence protocols
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Hi-index | 0.00 |
Let P(d) be a program implementing a partial recursive function 驴. Let $$ \mathcal{O} $$ P denote a function defined on the domain of function 驴 that maps an input data d 0 onto the path of computation of P on the input d 0. Let Q(p, d) be a program returning a value if and only if p = $$ \mathcal{O} $$ P (d), and let the value of the program be Q( $$ \mathcal{O} $$ P (d), d) = P(d). Program Q(p, d), which is totally absurd from the point of view of its practical computation on concrete input data, may be practically useful when it is analyzed by a metaprogram. It is shown in the paper how program Q(p, d) can be used for verification of a postcondition imposed on program P(d). The proposed method was tested on verification tasks for cache coherence protocols and other distributed computing systems.