7 Pages
English

Gerard Ferrand and Alexandre Tessier

Gain access to the library to view online
Learn more

Description

Niveau: Supérieur, Doctorat, Bac+8
Declarative Debugging Gerard Ferrand and Alexandre Tessier Universite d'Orleans and INRIA (LOCO project) LIFO, BP 6759, F-45067 Orleans Cedex 2, France 1 Introduction In program development, bugs localization is unavoidable. For high level languages such as logic program- ming languages, traditional tracing techniques become dicult to use because of the complexity of the computational behaviour. Moreover it would be incoherent to use only low level debugging tools whereas for theses languages the emphasis is on declarative semantics (as opposed to operational semantics). From an intuitive viewpoint, we call symptom the appearance of an anomaly during the execution of a program. An anomaly is relative to expected properties of the program i.e. to some intended semantics. For example in logic programming a symptom can be a \wrong answer but, because of the relational nature of logic programming, it can be also a \missing answer. Symptoms can be produced by testing. Symptoms are caused by errors in the program. An error is a piece of code. Strictly speaking, error localization, when a symptom is given, is error diagnosis and it can be seen as a rst step in debugging, a second step being error correction. Declarative Debugging was introduced in Logic Programming by Shapiro (and called Algorithmic Program Debugging [39]).

  • declarative debugging

  • can also recover

  • error can

  • interpretation techniques

  • symptom

  • techniques become dicult

  • logic programming


Subjects

Informations

Published by
Reads 14
Language English

Declarativ
e
Debugging
G
(
Shapiro
oint

b
erard
insuciency
F
w
errand
e
and
Symptoms
Alexandre
er")
T
oin
essier
l
Univ
h
ersit
actual

can
e
viewp
d'Orl
,

oin
eans
c
and
and
INRIA
H
(LOCO
that
pro
of
ject)
actually
LIF
T
O,
input
BP
symptom
6759,
This
F-45067
programmer
Orl
but,

b
eans
e
Cedex
een
2,
framew
F
b
rance
the
f
w
ferrand
inductiv
j
een
tessier
set
g
p
@lifo.univ-orleans.fr
is
1
So
In
(it
tro

duction
p
In
f
program
sho
dev
T
elopmen
S
t,
at
bugs
am
lo
information
calization
tics
is
exp
una
en
v
session
oidable.
b
F
case,
or
information
high
acle
lev
and
el
abstract
languages
ha
suc
denite
h
tially
as
one
logic
,
program-
incorrectness
ming
kind
languages,
xp
traditional
the
tracing
(\missing
tec
error).
hniques
the
b
relation
ecome
tforw
dicult
H
to
2
use
erator.
b
(the
ecause
is
of

the
)
complexit
)
y
T
of
of
the
induction
computational
us
b
ecting
eha

viour.
an
Moreo
)
v
Suc
er
go
it
called
w
But
ould
S
b
.
e
ust
incoheren
(1)
t
o
to
(2)
use
(3)
only
the
lo
d
w
the
lev
on
el
seman
debugging
e
to
y
ols
the
whereas
it
for
sp
theses
other
languages
an
the
a
emphasis
t,
is
giv
on
an
declarativ
2
e
Errors
seman
can
tics
in
(as
heme
opp
]).
osed
e
to
dened
op
b
erational
using
seman
inductiv
tics).
on
F
least
rom
i.e.
an
the
in
w
tuitiv
(\wrong
e
incorrectness
viewp
error),
oin
hand
t,
t,
w
,
e
b
call
insuciency
symptom
er")
the
kind
app
an
earance
framew
of
of
an
and
anomaly
et
during
come
the
from
execution
theory:
of
e
a
T
program.
!
An
monotonic
anomaly
l
is
T
relativ
ast
e
T
to
and
exp
least
e
suc
cte
(
d
I
pr
(
op
I
erties
p
of

the
the
program
pr
i.e.
d
to
Let
some
and
intende
ose
d
are
semantics
l
.
T
F
but
or
e
example
2
in
(
logic
h
programming
S
a
an
symptom
that
can
wrong
b
h
e
symptom
a
S
\wrong
f
answ
)
er"
T
but,
6
b
the
ecause
m
of
include
the
least
relational
the
nature
pr
of
gr
logic
,
programming,
the
it
and
can
some
b
on
e
exp
also
cte
a
seman
\missing
of
answ
program.
er".
information
Symptoms
the
can
ected
b
tics
e
b
pro
giv
duced
b
b
the
y
during
testing.
diagnosis
Symptoms
or
are
can
caused
e
b
ecied
y
y
err
means
ors
in
in
y
the
from
program.
conceptual
An
oin
error
this
is
is
a
en
piece
y
of
or
co
.
de.
Abstract
Strictly
and
sp
Symptom
eaking,
errors
error
b
lo
dened
calization,
an
when
sc
a
([18
symptom
32
is
They
giv
v
en,
b
is
rst
err
for
or
programs
diagnosis
y
and
([39])
it
essen
can
an
b
e
e
ork:
seen
the
as
hand
a
xp
rst
t,
step
induction
in
for
debugging
relation
,
et
a
een
second
symptom
step
answ
b
and
eing
(a
error
of
correction.
on
De
other
clar
greatest
ative
oin
Debugging
i.e.
w
o-induction
as
for
in
relation
tro
et
duced
een
in
symptom
Logic
answ
Programming
and
b
(another
y
of
Shapiro
In
(and
abstract
called
e
A
ork,
lgorithmic
notions
Pr
symptom
o
error,
gr
the
am
b
Debugging
w
[39
them,
]).
straigh
De
ardly
clar
xp
ative
t
means
Let
that
b
the
a
user
and
has
:
no
H
need
2
to
a
consider
op
the
So
computational
f
b
(
eha
)
viour
le
of