This commit is contained in:
parent
578e52aa0b
commit
eaad61965e
2 changed files with 8 additions and 7 deletions
|
@ -6,14 +6,15 @@
|
||||||
\label{cha:background}
|
\label{cha:background}
|
||||||
|
|
||||||
\section{Program slicing}
|
\section{Program slicing}
|
||||||
\textsl{Program slicing} \cite{Wei81,Sil12}\sergio{hay alguna razon para que \cite{Sil12} no este en la intro?, la unica cita alli es\cite{Wei81}. Propongo eliminar \cite{Sil12} por homogeneidad} is a debugging technique that
|
\textsl{Program slicing} \cite{Wei81,Sil12}\sergio{hay alguna razon para que \cite{Sil12} no este en la intro?, la unica cita alli es\cite{Wei81}. Propongo eliminar \cite{Sil12} por homogeneidad}\josep{mas bien, tendria que estar 13 tambi\'en en la intro} is a debugging technique that
|
||||||
answers the question: ``which parts of a program affect a given statement and
|
answers the question: ``which parts of a program \josep{do?}
|
||||||
|
affect a given statement and
|
||||||
set of variables?'' The statement and the variables are the basic input to create a slice
|
set of variables?'' The statement and the variables are the basic input to create a slice
|
||||||
and are called the \textsl{slicing criterion}. The criterion can be more
|
and are called the \textsl{slicing criterion}. The criterion can be more
|
||||||
complex, as different slicing techniques may require additional pieces of input.
|
complex, as different slicing techniques may require additional pieces of input.
|
||||||
The \textsl{slice} of a program is the list of statements from the original
|
The \textsl{slice} of a program is the list of statements from the original
|
||||||
program ---which constitutes a valid program--- whose execution will result in
|
program ---which constitutes a valid program--- whose execution will result in
|
||||||
the same values for the variables (selected in the slicing criterion).
|
the same values for the variables \josep{frase enrrevesada. yo la. cambiaria. De todas formas, para que sea correcta le sobran los parentesis }(selected in the slicing criterion).
|
||||||
There exist two fundamental dimensions along which the problem of slicing can be
|
There exist two fundamental dimensions along which the problem of slicing can be
|
||||||
proposed \cite{Sil12}:
|
proposed \cite{Sil12}:
|
||||||
|
|
||||||
|
@ -22,13 +23,13 @@ proposed \cite{Sil12}:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \textsl{Static} or \textsl{dynamic}: slicing can be performed
|
\item \textsl{Static} or \textsl{dynamic}: slicing can be performed
|
||||||
statically or dynamically.
|
statically or dynamically.
|
||||||
\textsl{Static slicing} \cite{Wei81} produces slices which consider all
|
\textsl{Static slicing} \cite{Wei81} produces slices which\josep{that} consider all
|
||||||
possible executions of the program: the slice will be correct regardless of the input supplied.
|
possible executions of the program: the slice will be correct regardless of the input supplied.
|
||||||
In contrast, \textsl{dynamic slicing} \cite{KorL88} considers a single execution of the program, thus, limiting the slice to
|
In contrast, \textsl{dynamic slicing} \cite{KorL88} considers a single execution of the program, thus, limiting the slice to
|
||||||
the statements present in an execution log. The slicing criterion is
|
the statements present in an execution log. The slicing criterion is
|
||||||
expanded to include a position in the log that corresponds to one
|
expanded to include a position in the log\josep{execution history} that corresponds to one
|
||||||
instance of the selected statement, making it much more specific. It may
|
instance of the selected statement, making it much more specific. It may
|
||||||
help find a bug related to indeterministic behavior (such as a random
|
help \josep{to}find a bug related to indeterministic behavior (such as a random
|
||||||
or pseudo-random number generator), but \sergio{, despite selecting the same slicing criterion, the slice }must be recomputed for each case\sergio{different input value/execution considered?}
|
or pseudo-random number generator), but \sergio{, despite selecting the same slicing criterion, the slice }must be recomputed for each case\sergio{different input value/execution considered?}
|
||||||
being analyzed.
|
being analyzed.
|
||||||
\item \textsl{Backward} or \textsl{forward}: \textsl{backward slicing}
|
\item \textsl{Backward} or \textsl{forward}: \textsl{backward slicing}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
Program slicing~\cite{Wei81} is a debugging technique that, given a line of
|
Program slicing~\cite{Wei81} is a debugging technique that, given a line of
|
||||||
code and a set of variables of a program, simplifies such program so that the only parts
|
code and a set of variables of a program, simplifies such program so that the only parts
|
||||||
left of it are those that affect or are affected by the values of the selected variables.
|
left of it are those that affect or are affected by the values of the selected variables. \josep{aqui, antes del ejemplo, habria que decir de manera informal que es un slice y que es un SC}
|
||||||
|
|
||||||
\sergio{Se me hace corta esta definicion y me faltan algunas utilidades del program slicing, por que se usa? Realmente no se usa solo en depuracion. Tiene mas usos, esto ademas da referencias a poner si queremos.}
|
\sergio{Se me hace corta esta definicion y me faltan algunas utilidades del program slicing, por que se usa? Realmente no se usa solo en depuracion. Tiene mas usos, esto ademas da referencias a poner si queremos.}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue