Filters








2,505 Hits in 6.2 sec

Horn clauses as an intermediate representation for program analysis and transformation

GRAEME GANGE, JORGE A. NAVAS, PETER SCHACHTE, HARALD SØNDERGAARD, PETER J. STUCKEY
2015 Theory and Practice of Logic Programming  
it suitable as a language for program analysis and transformation.  ...  We propose using logic programs as an intermediate program representation throughout the compilation process.  ...  This is being used as intermediate representation for a compiler we are developing for a language combining the benefits of declarative and imperative programming.  ... 
doi:10.1017/s1471068415000204 fatcat:h3j4du3p4zel7n46ztv34zd3p4

A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs [chapter]

Mario Méndez-Lojo, Jorge Navas, Manuel V. Hermenegildo
2008 Lecture Notes in Computer Science  
In this work we present a framework for analysis of object-oriented languages in which in a first phase we transform the input program into a representation based on Horn clauses.  ...  Static analyses of object-oriented programs usually rely on intermediate representations that respect the original semantics while having a more uniform and basic syntax.  ...  The framework consists of a two-step process: a transformation of the program into a set of Horn clauses that represents a correct approximation of its standard semantics, and a mature and sophisticated  ... 
doi:10.1007/978-3-540-78769-3_11 fatcat:rk3byrab3bdzvkdl7qemcdu2yy

Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR [chapter]

U. Liqat, K. Georgiou, S. Kerrison, P. Lopez-Garcia, John P. Gallagher, M. V. Hermenegildo, K. Eder
2016 Lecture Notes in Computer Science  
We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and  ...  This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource  ...  Acknowledgements This research has received funding from the European Union 7th Framework Program agreement no 318337, ENTRA, Spanish MINECO TIN'12-39391 Strong-Soft project, and the Madrid M141047003  ... 
doi:10.1007/978-3-319-46559-3_5 fatcat:4nvv3xaadzbphcxu6uaghjngsu

Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR [article]

Umer Liqat, Kyriakos Georgiou, Steve Kerrison, Pedro Lopez-Garcia, John P. Gallagher, Manuel V. Hermenegildo, Kerstin Eder
2015 arXiv   pre-print
We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and  ...  This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource  ...  Acknowledgements This research has received funding from the European Union 7th Framework Program agreement no 318337, ENTRA, Spanish MINECO TIN'12-39391 Strong-Soft project, and the Madrid M141047003  ... 
arXiv:1511.01413v1 fatcat:b7i347cwazertpnicaosmjibde

Introduction to the special issue on computational logic for verification

GERMÁN VIDAL
2018 Theory and Practice of Logic Programming  
It helps us to rigorously formalize these techniques and prove them correct. The last decade has witnessed a growing interest in the use of computational logic methods for program verification.  ...  It has attracted researchers from both computational logic and program verification communities, giving rise to a fruitful exchange of ideas and experiences.  ...  One of the most successful approaches in this area considers (some form of) Horn clauses as an intermediate representation, where different analysis and verification methods can be defined; see, e.g.,  ... 
doi:10.1017/s1471068418000029 fatcat:c4gxiijazzgohk6shsfnb5p6cy

From Big-Step to Small-Step Semantics and Back with Interpreter Specialisation

John P. Gallagher, Manuel Hermenegildo, Bishoksan Kafle, Maximiliano Klemen, Pedro López García, José Morales
2020 Electronic Proceedings in Theoretical Computer Science  
We investigate representations of imperative programs as constrained Horn clauses.  ...  A similar translation based on small-step semantics could be carried out, but we show an approach to obtaining a small-step representation using a linear interpreter for big-step Horn clauses.  ...  Acknowledgements Discussions on semantics and Horn clauses with Alberto Pettorossi, Maurizio Proietti, Fabio Fioravanti and Emanuele De Angelis are gratefully acknowledged.  ... 
doi:10.4204/eptcs.320.4 fatcat:4dry4azxwncnrojzddv6pcomay

Algorithmic Logic-Based Verification with SeaHorn

Arie Gurfinkel
2015 2015 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)  
experimenting and developing CHC-based verification A model of a set of clauses ¦ is an interpretation of each predicate p i that makes all clauses in ¦ valid A set of clauses is satisfiable if it has  ...  CHCs are satisfiable • satisfiability-preserving transformations == safety preserving Models for CHC correspond to verification certificates • inductive invariants and procedure summaries Unsatisfiability  ...  C3: false à I(x,y,x o ,y o ), y·0, x≠x o +y o ToHorn Constrained Horn Clauses as an Intermediate RepresentationFrom Programs to Logic• generating verification conditions Program Transformations for Verification  ... 
doi:10.1109/synasc.2015.10 dblp:conf/synasc/Gurfinkel15 fatcat:hm4asdh5mjdpxcxdkhsgpht32q

Towards a framework for algorithm recognition in binary code

Frédéric Mesnard, Étienne Payet, Wim Vanhoof
2016 Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming - PPDP '16  
Then we consider programs as implementing the same algorithm if their Horn clause representations can be reduced to a single common set of Horn clauses by means of a sequence of transformations.  ...  Algorithm recognition, which is the problem of verifying whether a program implements a given algorithm, is an important topic in program analysis.  ...  into a single Horn clause representation Ci that has, at least partially, the same semantics as H0 and Hi (and thus as A and Mi).  ... 
doi:10.1145/2967973.2968600 dblp:conf/ppdp/MesnardPV16 fatcat:4emlx5zylbcv5nk2ym26anlmyy

Energy Consumption Analysis of Programs Based on XMOS ISA-Level Models [chapter]

Umer Liqat, Steve Kerrison, Alejandro Serrano, Kyriakos Georgiou, Pedro Lopez-Garcia, Neville Grech, Manuel V. Hermenegildo, Kerstin Eder
2014 Lecture Notes in Computer Science  
Here, we describe techniques for recreating the structure of low-level programs and transforming these into Horn clauses in order to make use of the CiaoPP resource analysis framework.  ...  Energy consumption analysis of embedded programs necessitates the analysis of low-level program representations.  ...  Conclusions and Future Work In this paper we introduce an approach for estimating the energy consumption of programs compiled for the XS1 architecture, based on a Horn clause transformation and the use  ... 
doi:10.1007/978-3-319-14125-1_5 fatcat:4szq444wejg3vbqgplevltmb6m

Proving array properties using data abstraction

Julien Braine, Laure Gonnord
2020 Proceedings of the 9th ACM SIGPLAN International Workshop on Numerical and Symbolic Abstract Domains  
This paper presents a framework to abstract data structures within Horn clauses that allows abstractions to be easily expressed, compared, composed and implemented.  ...  We study the case of arrays and our experimental evaluation show promising results on classical array programs.  ...  Like [14] we use Horn Clauses to encode our program under verification, but we go a step further in the use of Horn Clauses as an intermediate representation useful to chain abstractions.  ... 
doi:10.1145/3427762.3430179 fatcat:mewggb25jrazjakf5vupdei6oq

The ELDARICA Horn Solver

Hossein Hojjat, Philipp Rummer
2018 2018 Formal Methods in Computer Aided Design (FMCAD)  
Over the last years we have been developing and maintaining ELDARICA as a state-of-the-art solver for Horn clauses over integer arithmetic.  ...  This paper describes the high-level structure of the tool and the interface that it provides to other applications. We also report on an evaluation of the tool.  ...  Horn clauses can be used as an intermediate verification language that elegantly captures various classes of systems (e.g., sequential code, programs with functions and procedures, concurrent programs,  ... 
doi:10.23919/fmcad.2018.8603013 dblp:conf/fmcad/HojjatR18 fatcat:zl3zruilu5gglkr2pa5s5srnu4

Exploring Representation of Horn Clauses using GNNs (Extended Technical Report) [article]

Chencheng Liang, Philipp Rümmer, Marc Brockschmidt
2022 arXiv   pre-print
Addressing the first point, we consider Constrained Horn Clauses (CHCs) as a standard representation of program verification problems, providing a simple and programming language-independent syntax.  ...  For the second challenge, we explore graph representations of CHCs, and propose a new Relational Hypergraph Neural Network (R-HyGNN) architecture to learn program features.  ...  Constrained Horn Clauses (CHCs) [15] , as an intermediate verification language, consist of logic implications and constraints and can alleviate the difficulty since they can naturally encode program  ... 
arXiv:2206.06986v4 fatcat:jftcin66p5f5bcytktgnxf4eri

Verification of Programs by Combining Iterated Specialization with Interpolation

Emanuele De Angelis, Fabio Fioravanti, Jorge A. Navas, Maurizio Proietti
2014 Electronic Proceedings in Theoretical Computer Science  
We present a verification technique for program safety that combines Iterated Specialization and Interpolating Horn Clause Solving.  ...  Our new method composes together these two techniques in a modular way by exploiting the common Horn Clause representation of the verification problem.  ...  Acknowledgments We would like to thank the anonymous referees for their helpful and constructive comments.  ... 
doi:10.4204/eptcs.169.3 fatcat:quhoibxm6rdxflppfc4jpfkpua

Analysis and Transformation Tools for Constrained Horn Clause Verification [article]

John P. Gallagher, Bishoksan Kafle
2014 arXiv   pre-print
Several techniques and tools have been developed for verification of properties expressed as Horn clauses with constraints over a background theory (CHC).  ...  Our aim in this work is to investigate the use of a combination of off-the-shelf techniques from the literature in analysis and transformation of Constraint Logic Programs (CLPs) to solve challenging CHC  ...  Pure CLPs are syntactically and semantically the same as CHC. The main difference is that sets of constrained Horn clauses are not necessarily intended for execution, but rather as specifications.  ... 
arXiv:1405.3883v1 fatcat:i3zfwewz7nfr3pvd7hqw7t2gce

Cell Morphing: From Array Programs to Array-Free Horn Clauses [chapter]

David Monniaux, Laure Gonnord
2016 Lecture Notes in Computer Science  
From our programs with arrays, we generate nonlinear Horn clauses over scalar variables only, in a common format with clear and unambiguous logical semantics, for which there exist several solvers.  ...  sort, insertion sort, as well as examples from literature on array analysis.  ...  Acknowledgments We wish to thank the anonymous referees for their careful reading and helpful comments.  ... 
doi:10.1007/978-3-662-53413-7_18 fatcat:rp2hhdktvzc3jk3o6m5lflm5qe
« Previous Showing results 1 — 15 out of 2,505 results