Analysis of imperative programs through analysis of constraint logic programs

Julio C. Peralta, John P. Gallagher, Hüseyin Saǧlam

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningpeer review

Abstract

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.
OriginalsprogEngelsk
TitelInternational Static Analysis Symposium : 5th International Symposium, SAS 1998, Proceedings
Antal sider16
ForlagSpringer Verlag
Publikationsdato1998
Sider246-261
ISBN (Trykt)3540650148, 9783540650140
DOI
StatusUdgivet - 1998
Udgivet eksterntJa
Begivenhed5th International Symposium on Static Analysis, SAS 1998 - Pisa, Italien
Varighed: 14 sep. 199816 sep. 1998

Konference

Konference5th International Symposium on Static Analysis, SAS 1998
Land/OmrådeItalien
ByPisa
Periode14/09/199816/09/1998
SponsorCNR-Gruppo Nazionale di Informatica Matematica, Compulog Network, Comune di Pisa, National Research Council, Unione Industriali di Pisa, University of Pisa
NavnLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Vol/bind1503 LNCS
ISSN0302-9743

Emneord

  • Constraint Logic Programming
  • Imperative Program Analysis
  • Operational Semantics
  • Partial Evaluation

Citer dette