Axiom-Based Transformations: Optimisation and Testing
Peer reviewed, Journal article
MetadataVis full innførsel
Programmers typically have knowledge about properties of their programs that aren't explicitly expressed in the code properties that may be very useful for, e.g., compiler optimisation and automated testing. Although such information is sometimes written down in a formal or informal specification, it is generally not accessible to compilers and other tools. However, using the idea of concepts and axioms in the upcoming C++ standard, we may embed axioms with program code. In this paper, we sketch how such axioms can be interpreted as rewrite rules and test oracles. Rewrite rules together with user-defined transformation strategies allow us to implement program or library-specific optimisations.