Back to Search Start Over

Horn Clauses as an Intermediate Representation for Program Analysis and Transformation

Authors :
Gange, Graeme
Navas, Jorge A.
Schachte, Peter
Sondergaard, Harald
Stuckey, Peter J.
Source :
Theory and Practice of Logic Programming 15 (2015) 526-542
Publication Year :
2015

Abstract

Many recent analyses for conventional imperative programs begin by transforming programs into logic programs, capitalising on existing LP analyses and simple LP semantics. We propose using logic programs as an intermediate program representation throughout the compilation process. With restrictions ensuring determinism and single-modedness, a logic program can easily be transformed to machine language or other low-level language, while maintaining the simple semantics that makes it suitable as a language for program analysis and transformation. We present a simple LP language that enforces determinism and single-modedness, and show that it makes a convenient program representation for analysis and transformation.<br />Comment: To Appear in Theory and Practice of Logic Programming (TPLP), Proceedings of ICLP 2015

Details

Database :
arXiv
Journal :
Theory and Practice of Logic Programming 15 (2015) 526-542
Publication Type :
Report
Accession number :
edsarx.1507.05762
Document Type :
Working Paper
Full Text :
https://doi.org/10.1017/S1471068415000204