final version
This commit is contained in:
parent
49d736cd80
commit
2c1b00830d
3 changed files with 7 additions and 5 deletions
|
@ -15,6 +15,8 @@ An important contribution of our work has been the solutions proposed for each o
|
|||
|
||||
\section*{Future work}
|
||||
|
||||
Our work does not end here, we are currently studying some improvements and applications related to our proposal, hereunder we enumerate some of them:
|
||||
|
||||
\begin{itemize}
|
||||
\item Implementation of the solutions proposed, so that they can be benchmarked against the previous state of the art, and used to build better program slicers. The implementation could be done in Java or another language with a similar exception-catch system. The solutions that improve correctness at the price of slice speed could be implemented as optional for the user to execute, as to avoid increasing the slicing software's temporal complexity.
|
||||
\item Improved correctness for the \texttt{try-catch} statement. The solution proposed in chapter~\ref{cha:solution} does solve the lack of completeness in the treatment of \texttt{catch} statements, at the cost of including many more \texttt{catch} statements that are really necessary. This is not the most desirable outcome, but it can be improved by developing and implementing the measures suggested at the end of the solution: make the inclusion of the \texttt{catch} statements conditional upon two dependencies instead of one and represent \texttt{catch} statements multiple times, so that the method calls that throw errors may be selectively included.
|
||||
|
|
|
@ -380,7 +380,7 @@ The ``normal return'' node is itself a pseudo-statement. The \textit{true} edge
|
|||
As can be seen in the CFG shown in Figure~\ref{fig:try-catch} (centre), the nodes ``Normal return'', ``catch'' and ``try'' are considered as pseudo-statements, and their \textit{true} and \textit{false} edges (solid and dashed respectively) are used to create control dependencies.
|
||||
The statements contained after the function call, inside the \texttt{catch} statement and inside the \texttt{try} statement are respectively controlled by the aforementioned nodes.
|
||||
|
||||
Finally, consider the statement \texttt{Z}; which is not dependent on any part of the \texttt{try-catch} statement, as all exceptions that may be thrown are caught: it will execute regardless of the path taken inside the \texttt{try} block. \carlos{Consider critiquing the result, saying that despite the last sentence, statements can be removed (the catch) so that the dependencies are no longer the same.}
|
||||
Finally, consider the statement \texttt{Z}; which is not dependent on any part of the \texttt{try-catch} statement, as all exceptions that may be thrown are caught: it will execute regardless of the path taken inside the \texttt{try} block.% \carlos{Consider critiquing the result, saying that despite the last sentence, statements can be removed (the catch) so that the dependencies are no longer the same.}
|
||||
\begin{figure}[h]
|
||||
\begin{minipage}{0.35\linewidth}
|
||||
\begin{lstlisting}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue