Abstract Interpretation of PIC programs through Logic Programming

Kim Steen Henriksen, John Patrick Gallagher

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

Resumé

A logic based general approach to abstract interpretation of low-level machine programs is reported. It is based on modelling the behavior of the machine as a logic program. General purpose program analysis and transformation of logic programs, such as partial evaluation and convex hull analysis, are applied to the logic based model of the machine. A small PIC microcontroller is used as a case study. An emulator for this microcontroller is written in Prolog, and standard programming transformations and analysis techniques are used to specialise this emulator with respect to a given PIC program. The specialised emulator can now be further analysed to gain insight into the given program for the PIC microcontroller. The method describes a general framework for applying abstractions, illustrated here by linear constraints and convex hull analysis, to logic programs. Using these techniques on the specialised PIC emulator, it is possible to obtain constraints on and linear relations between data registers, enabling detection of for instance overflows, branch conditions and so on.
OriginalsprogEngelsk
TitelSixth IEEE International Workshop on Source Code Analysis and Manipulation
ForlagIEEE
Publikationsdato2006
Sider184-193
ISBN (Trykt)0769523536
StatusUdgivet - 2006
BegivenhedSixth IEEE International Workshop on Source Code Analysis and Manipulation - Philadelphia, PA, USA
Varighed: 27 sep. 200629 sep. 2006
Konferencens nummer: 6

Konference

KonferenceSixth IEEE International Workshop on Source Code Analysis and Manipulation
Nummer6
LandUSA
ByPhiladelphia, PA
Periode27/09/200629/09/2006

Citer dette

Henriksen, K. S., & Gallagher, J. P. (2006). Abstract Interpretation of PIC programs through Logic Programming. I Sixth IEEE International Workshop on Source Code Analysis and Manipulation (s. 184-193). IEEE.
Henriksen, Kim Steen ; Gallagher, John Patrick. / Abstract Interpretation of PIC programs through Logic Programming. Sixth IEEE International Workshop on Source Code Analysis and Manipulation. IEEE, 2006. s. 184-193
@inproceedings{f927e680603011db996e000ea68e967b,
title = "Abstract Interpretation of PIC programs through Logic Programming",
abstract = "A logic based general approach to abstract interpretation of low-level machine programs is reported. It is based on modelling the behavior of the machine as a logic program. General purpose program analysis and transformation of logic programs, such as partial evaluation and convex hull analysis, are applied to the logic based model of the machine. A small PIC microcontroller is used as a case study. An emulator for this microcontroller is written in Prolog, and standard programming transformations and analysis techniques are used to specialise this emulator with respect to a given PIC program. The specialised emulator can now be further analysed to gain insight into the given program for the PIC microcontroller. The method describes a general framework for applying abstractions, illustrated here by linear constraints and convex hull analysis, to logic programs. Using these techniques on the specialised PIC emulator, it is possible to obtain constraints on and linear relations between data registers, enabling detection of for instance overflows, branch conditions and so on.",
author = "Henriksen, {Kim Steen} and Gallagher, {John Patrick}",
year = "2006",
language = "English",
isbn = "0769523536",
pages = "184--193",
booktitle = "Sixth IEEE International Workshop on Source Code Analysis and Manipulation",
publisher = "IEEE",
address = "United States",

}

Henriksen, KS & Gallagher, JP 2006, Abstract Interpretation of PIC programs through Logic Programming. i Sixth IEEE International Workshop on Source Code Analysis and Manipulation. IEEE, s. 184-193, Sixth IEEE International Workshop on Source Code Analysis and Manipulation, Philadelphia, PA, USA, 27/09/2006.

Abstract Interpretation of PIC programs through Logic Programming. / Henriksen, Kim Steen; Gallagher, John Patrick.

Sixth IEEE International Workshop on Source Code Analysis and Manipulation. IEEE, 2006. s. 184-193.

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

TY - GEN

T1 - Abstract Interpretation of PIC programs through Logic Programming

AU - Henriksen, Kim Steen

AU - Gallagher, John Patrick

PY - 2006

Y1 - 2006

N2 - A logic based general approach to abstract interpretation of low-level machine programs is reported. It is based on modelling the behavior of the machine as a logic program. General purpose program analysis and transformation of logic programs, such as partial evaluation and convex hull analysis, are applied to the logic based model of the machine. A small PIC microcontroller is used as a case study. An emulator for this microcontroller is written in Prolog, and standard programming transformations and analysis techniques are used to specialise this emulator with respect to a given PIC program. The specialised emulator can now be further analysed to gain insight into the given program for the PIC microcontroller. The method describes a general framework for applying abstractions, illustrated here by linear constraints and convex hull analysis, to logic programs. Using these techniques on the specialised PIC emulator, it is possible to obtain constraints on and linear relations between data registers, enabling detection of for instance overflows, branch conditions and so on.

AB - A logic based general approach to abstract interpretation of low-level machine programs is reported. It is based on modelling the behavior of the machine as a logic program. General purpose program analysis and transformation of logic programs, such as partial evaluation and convex hull analysis, are applied to the logic based model of the machine. A small PIC microcontroller is used as a case study. An emulator for this microcontroller is written in Prolog, and standard programming transformations and analysis techniques are used to specialise this emulator with respect to a given PIC program. The specialised emulator can now be further analysed to gain insight into the given program for the PIC microcontroller. The method describes a general framework for applying abstractions, illustrated here by linear constraints and convex hull analysis, to logic programs. Using these techniques on the specialised PIC emulator, it is possible to obtain constraints on and linear relations between data registers, enabling detection of for instance overflows, branch conditions and so on.

M3 - Article in proceedings

SN - 0769523536

SP - 184

EP - 193

BT - Sixth IEEE International Workshop on Source Code Analysis and Manipulation

PB - IEEE

ER -

Henriksen KS, Gallagher JP. Abstract Interpretation of PIC programs through Logic Programming. I Sixth IEEE International Workshop on Source Code Analysis and Manipulation. IEEE. 2006. s. 184-193