A heuristic for deriving loop functions
IEEE Transactions on Software Engineering
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
The new math of computer programming
Communications of the ACM
The Science of Programming
A Discipline of Programming
Mathematical Theory of Computation
Mathematical Theory of Computation
Non-linear loop invariant generation using Gröbner bases
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Loop Squashing Transformations for Amorphous Slicing
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
An Algorithm for Automated Generation of Invariants for Loops with Conditionals
SYNASC '05 Proceedings of the Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
Proceedings of the 5th international conference on Generative programming and component engineering
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Computing Properties of Numerical Imperative Programs by Symbolic Computation
Fundamenta Informaticae - Half a Century of Inspirational Research: Honoring the Scientific Influence of Antoni Mazurkiewicz
HASE '08 Proceedings of the 2008 11th IEEE High Assurance Systems Engineering Symposium
Reflexive transitive invariant relations: A basis for computing loop functions
Journal of Symbolic Computation
Program verification using automatic generation of invariants
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
Hi-index | 0.00 |
Despite much progress in the design of programming languages, the vast majority of software being written and deployed nowadays remains written in languages where iteration is the main inductive construct, and the main source of algorithmic complexity. For the past four decades, the analysis of iterative constructs has been dominated, not undeservedly, by the concept of invariant assertions. In this paper we submit relation-based alternatives, namely invariant relations and invariant functions, and show how these can provide complementary perspectives, and can enrich the analysis of iterations. Whereas loop invariants can be used to establish the correctness of iterative programs in Hoare logics, invariant relations and invariant functions are used to derive program functions in Mills' logic. In keeping with the conference format, we do not delve too much into theoretical results, and focus instead on the applied aspects of our relation-theoretic approach.