ICS '88 Proceedings of the 2nd international conference on Supercomputing
Transitive closure of infinite graphs and its applications
International Journal of Parallel Programming - Special issue: selected papers from the eighth international workshop on languages and compilers for parallel computing
Journal of Parallel and Distributed Computing
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
ICS '01 Proceedings of the 15th international conference on Supercomputing
Computer-Aided Reasoning: An Approach
Computer-Aided Reasoning: An Approach
Conversion of control dependence to data dependence
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Uniformization of Affine Dependance Programs for Parallel Embedded System Design
ICPP '02 Proceedings of the 2001 International Conference on Parallel Processing
Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
On the Equivalence of Two Systems of Affine Recurrence Equations (Research Note)
Euro-Par '02 Proceedings of the 8th International Euro-Par Conference on Parallel Processing
Precise interprocedural analysis through linear algebra
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Code Generation in the Polyhedral Model Is Easier Than You Think
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
Formal equivalence checking for loop optimization in C programs without unrolling
ACST'07 Proceedings of the third conference on IASTED International Conference: Advances in Computer Science and Technology
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Verification of source code transformations by program equivalence checking
CC'05 Proceedings of the 14th international conference on Compiler Construction
isl: an integer set library for the polyhedral model
ICMS'10 Proceedings of the Third international congress conference on Mathematical software
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Transitive closures of affine integer tuple relations and their overapproximations
SAS'11 Proceedings of the 18th international conference on Static analysis
Loop invariant symbolic execution for parallel programs
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Formalizing hardware/software interface specifications
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Equivalence checking of static affine programs using widening to handle recurrences
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 5th IBM Collaborative Academia Research Exchange Workshop
Hi-index | 0.00 |
Designers often apply manual or semi-automatic loop and data transformations on array and loop intensive programs to improve performance. The transformations should preserve the functionality, however, and this paper presents an automatic method for constructing equivalence proofs for the class of static affine programs. The equivalence checking is performed on a dependence graph abstraction and uses a new approach based on widening to handle recurrences. Unlike transitive closure based approaches, this widening approach can also handle non-uniform recurrences. The implementation is publicly available and is the first of its kind to fully support commutative operations.