article Open access

Horn clauses as an intermediate representation for program analysis and transformation

  • Theory and Practice of Logic Programming
  • Cambridge University Press
Research footprint

At a glance

Citations
20
References
25
Comments
0
Paper overview

Abstract

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.

Record transparency

Publication details

DOI
10.1017/s1471068415000204
OpenAlex
W2287408962
Document type
article
Language
EN
Source
Theory and Practice of Logic Programming
Last metadata update
Community

Comments

Log in to join the discussion.

  1. No comments yet. Start the discussion.