You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More details on Flower's implementation. Stating upfront (before example) what changes in the interface, and also two sentences about implementation specifics. Toward #110, #118, and #119.
Copy file name to clipboardExpand all lines: progNav Paper/progNav Paper.tex
+5-1Lines changed: 5 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -232,10 +232,14 @@ \section{Flower}
232
232
Flower was designed to realize all of the principles described in Section \ref{DesignPrinciples}.
233
233
We implemented Flower as a plugin to the Eclipse IDE~\cite{Eclipse}.
234
234
We chose Eclipse because it is one of the most widely used open source IDEs for Java development and it provides many extension points for plugins.
235
+
Flower extends \emph{Call Hierarchy}, which allows it to reason about variables that are passed between methods.
236
+
Leveraging Eclipse's incremental compiler and JDT core, Flower also implements several AST visitors to detect proper and up-to-date variable references.
235
237
238
+
When active, Flower makes two modifications to Eclipse's user interface.
239
+
First, it highlights on-screen references to selected variables.
240
+
Secondly, when references to the selected variable appear off-screen -- either elsewhere in the current method or in other methods -- Flower adds links to those locations to the code view.
236
241
Figure \ref{fig:tool} depicts Flower invoked on a variable participants were asked to inspect as part of our evaluation. To visualize how a programmer would interact with Flower, consider the following scenario:
237
242
238
-
239
243
Suppose you are a programmer and you notice that by tampering with the value of the \texttt{fileName} variable, malicious users could gain access to sensitive information in the database.
240
244
You want to determine whether users can modify \texttt{fileName} before it gets passed into \texttt{parseAndCache}.
0 commit comments