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
Copy file name to clipboardExpand all lines: progNav Paper/progNav Paper.tex
+13-5Lines changed: 13 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -82,23 +82,31 @@ \subsection{Powerful Program Analysis}
82
82
Simple textual analysis may lead to inaccurate results, especially when programs include inheritance and duplicate variable names.
83
83
84
84
\subsection{Low Barriers to Invocation}
85
-
85
+
Barriers to invocation may inhibit adoption.
86
+
As developers may wish to navigate multiple program paths concurrently, repetitively invoking the tool may be cumbersome, especially if barriers are high.
86
87
87
88
\subsection{Full Program Navigation}
88
-
Something that says the same tool allows users to analyze data flow \textit{across} methods upstream and downstream.
89
+
Developers are not only interested in traversing programs' call graph, but also how data flows through the call graph.
90
+
To do so, developers must inspect the relationship between methods as well as the methods themselves.
91
+
Often the methods of interest span across multiple source files.
92
+
Furthermore, program navigation tools should support this traversal both upstream and downstream.
93
+
That is, tools should highlight variable assignments and also subsequent variable uses.
89
94
90
-
\subsection{Enables Systematic and Complete Evaluation}
95
+
\subsection{Enables Systematic Evaluation}
96
+
Program navigation tools should help developers keep track of where they have been and where they are going. Especially while attempting to resolve complex defects, developers may want to thoroughly explore all program paths. Their navigation tools should help them keep track of their progress.
91
97
92
98
\subsection{In Situ Results}
93
-
99
+
Switching between views in the IDE can cause disorientation [Cite]. As developers navigate through code, navigation tools should present their results in that context.
100
+
When navigation tools present results outside the code, developers are burdened with the cognitive load of translating those results back to the code.
94
101
95
102
\section{Related Work}
96
103
Summary of related work, including a table evaluating existing tools on various design principles.
97
104
Spoiler alert, none of the tools satisfy all of the principles.
98
105
99
106
100
107
\section{[Name of Tool]}
101
-
We implemented our tool as a plugin to the Eclipse IDE [cite]. We chose Eclipse because of its popularity and extensibility. Eclipse is one of the most widely used open source IDEs for Java development and it provides many extension points for plugins.
108
+
We implemented our tool as a plugin to the Eclipse IDE [cite]. We chose Eclipse because of its popularity and extensibility.
109
+
Eclipse is one of the most widely used open source IDEs for Java development and it provides many extension points for plugins.
102
110
103
111
\section{Preliminary Evaluation}
104
112
We plan to perform a preliminary evaluation of our tool with approximately five to ten developers.
0 commit comments