Computing and Information Systems - Research Publications

Permanent URI for this collection

Search Results

Now showing 1 - 2 of 2
  • Item
    No Preview Available
    Horn Clauses As an Intermediate Representation for Program Analysis and Transformation
    Gange, G ; Navas Laserna, J ; Schachte, P ; SONDERGAARD, H ; Stuckey, PJ (Cambridge University Press, 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.
  • Item
    Thumbnail Image
    Interval Analysis and Machine Arithmetic: Why Signedness Ignorance Is Bliss
    Gange, G ; Navas, JA ; Schachte, P ; Sondergaard, H ; Stuckey, PJ (Association for Computing Machinery, 2015)
    The most commonly used integer types have fixed bit-width, making it possible for computations to “wrap around,” and many programs depend on this behaviour. Yet much work to date on program analysis and verification of integer computations treats integers as having infinite precision, and most analyses that do respect fixed width lose precision when overflow is possible. We present a novel integer interval abstract domain that correctly handles wrap-around. The analysis is signedness agnostic. By treating integers as strings of bits, only considering signedness for operations that treat them differently, we produce precise, correct results at a modest cost in execution time.