Hostname: page-component-74656f9884-npj9w Total loading time: 0 Render date: 2026-11-11T00:24:58.424Z Has data issue: false hasContentIssue false

Horn clauses as an intermediate representation for program analysis and transformation*

Published online by Cambridge University Press:  03 September 2015

GRAEME GANGE
Affiliation:
Department of Computing and Information Systems, The University of Melbourne, Victoria 3010, Australia (e-mail: gkgange@unimelb.edu.au)
JORGE A. NAVAS
Affiliation:
NASA Ames Research Center, Moffet Field CA, (e-mail: jorge.a.navaslaserna@nasa.gov)
PETER SCHACHTE
Affiliation:
Department of Computing and Information Systems, The University of Melbourne, Victoria 3010, Australia (e-mail: schachte@unimelb.edu.au, harald@unimelb.edu.au, pstuckey@unimelb.edu.au)
HARALD SØNDERGAARD
Affiliation:
Department of Computing and Information Systems, The University of Melbourne, Victoria 3010, Australia (e-mail: schachte@unimelb.edu.au, harald@unimelb.edu.au, pstuckey@unimelb.edu.au)
PETER J. STUCKEY
Affiliation:
Department of Computing and Information Systems, The University of Melbourne, Victoria 3010, Australia (e-mail: schachte@unimelb.edu.au, harald@unimelb.edu.au, pstuckey@unimelb.edu.au)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2015