Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Two-level semantics and code generation
Theoretical Computer Science - First European Symposium on Programming, Saarbru:9Aicken, W. Germany, March 17:8
Two-level semantics and abstract interpretation
Theoretical Computer Science
Partial evaluation in logic programming
Journal of Logic Programming
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Fast and precise regular approximations of logic programs
Proceedings of the eleventh international conference on Logic programming
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Logic for Problem Solving
Building a Bridge between Pointer Aliases and Program Dependences
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Semantics-Directed Program Analysis: A Tool-Maker's Perspective
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Abstract Interpretation Based Static Analysis Parameterized by Semantics
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Formal development of static program analysers
ICCSSE '97 Proceedings of the 8th Israeli Conference on Computer-Based Systems and Software Engineering
Design and Implementation of the High-Level Specification Language CSP(LP) in Prolog
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs
Logic-Based Program Synthesis and Transformation
Verification of java bytecode using analysis and transformation of logic programs
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Verifying programs via iterated specialization
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Disjunctive interpolants for horn-clause verification
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Proving Theorems by Program Transformation
Fundamenta Informaticae - To Andrzej Skowron on His 70th Birthday
Hi-index | 0.00 |
In this paper a method is proposed for carrying out analysis of imperative programs. We achieve this by writing down the language semantics as a declarative program (a constraint logic program, in the approach shown here). We propose an effective style of writing operational semantics suitable for analysis which we call one-state small-step semantics. Through controlled partial evaluation we are able to generate residual programs where the relationship between imperative statements and predicates is straightforward. Then we use a static analyser for constraint logic programs on the residual program. The analysis results are interpreted through program points associating predicates in the partially evaluated interpreter to statements in its corresponding imperative program. We used an analyser that allows us to determine linear equality, inequality and disequality relations among the variables of a program without user-provided inductive assertions or human interaction. The proposed method intends to serve as a framework for the analysis of programs in any imperative language. The tools required are a partial evaluator and a static analyser for the declarative language.