diff --git a/Secciones/background.tex b/Secciones/background.tex index 7e7a9a0..93402ae 100644 --- a/Secciones/background.tex +++ b/Secciones/background.tex @@ -6,14 +6,15 @@ \label{cha:background} \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 -answers the question: ``which parts of a program affect a given statement and +\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 \josep{do?} +affect a given statement and 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 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 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 proposed \cite{Sil12}: @@ -22,13 +23,13 @@ proposed \cite{Sil12}: \begin{itemize} \item \textsl{Static} or \textsl{dynamic}: slicing can be performed 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. 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 - 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 - 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?} being analyzed. \item \textsl{Backward} or \textsl{forward}: \textsl{backward slicing} diff --git a/Secciones/motivation.tex b/Secciones/motivation.tex index a673802..dac2f1e 100644 --- a/Secciones/motivation.tex +++ b/Secciones/motivation.tex @@ -9,7 +9,7 @@ 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 -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.}