Skip to content

Commit 38cf644

Browse files
committed
Added a little bit more about find references and removed analyze dependencies for space. Hopefully will stave off #110
1 parent 31fee05 commit 38cf644

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

progNav Paper/progNav Paper.tex

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,23 +163,23 @@ \section{Design Principles}
163163
\section{Related Work}
164164
%Summary of related work, including a table evaluating existing %tools on various design principles.
165165
%Spoiler alert, none of the tools satisfy all of the principles.
166-
Here we discuss many of the various existing tools that help developers explore and navigate code. We also relate the exiting tools back to Design Principles Described in Section \ref{DesignPrinciples}.
166+
Here we discuss some of the existing tools that help developers navigate code. We also relate the exiting tools back to Design Principles Described in Section \ref{DesignPrinciples}.
167167

168-
Many modern IDEs provide tools that help developers navigate through their code.
168+
Many modern IDEs provide tools that help developers navigate source code.
169169
For example, Eclipse~\cite{Eclipse} includes \emph{Call Hierarchy} and \emph{Find References}.
170-
When users invoke \emph{Call Hierarchy}, Eclipse opens a new view that displays the callers and callees for a selected method.
171-
IntelliJ~\cite{IntelliJ} also provides navigation tools, namely \emph{Analyze Data Flow To/From Here} and \emph{Analyze Dependencies}.
172-
Much like Eclipse's \emph{Call Hierarchy}, the \emph{Analyze Data Flow} tools display their results in external views.
173-
These tools provide \textit{Program Analysis} for users to navigate throughout the entirety of a project.
170+
When users invoke either of these tools, Eclipse opens a new view to display the results.
171+
For \emph{Call Hierarchy}, this view contains a list of the selected method's callers and callees, whereas \emph{Find References} only lists callers.
172+
Similarly, IntelliJ~\cite{IntelliJ} provides \emph{Analyze Data Flow}, which also displays its results in an external view.
173+
These tools provide \textit{Program Analysis} for users to navigate throughout their code.
174174
However, they generally differ from Flower because they lack \textit{Low Barriers to Invocation} and \textit{In Situ Navigation}.
175175

176176
There are also several tools that reside strictly within the code editor, enabling a form of \textit{In Situ Navigation}.
177177
Two examples of these tools are Eclipse's \emph{Mark Occurrences} and \emph{Open Declaration}.
178178
Eclipse automatically invokes \emph{Mark Occurrences} whenever a user clicks on a variable or method name in the code.
179179
The tool then highlights occurrences of that element elsewhere in the current file.
180180
\emph{Mark Occurrences} epitomizes \textit{Low Barriers to Invocation}.
181-
These approaches are similar to Flower in that they display the results within the editor rather than a separate view or panel.
182-
However, they do not provide \textit{Program Analysis} or enable \textit{Full Program Navigation}.
181+
These approaches are similar to Flower in that they display the results within the editor rather than a separate view or panel.
182+
However, they do not perform \textit{Program Analysis} or enable \textit{Full Program Navigation}.
183183

184184

185185
Many other tools help developers navigate code by representing the code graphically and allowing developers to navigate those graphs~\cite{CodeBubbles,CodeCanvas,CodeSurfer,Dora,Reacher,Relo,Whyline}.

0 commit comments

Comments
 (0)