Skip to content

Commit d50fe05

Browse files
committed
First draft of an abstract and a somewhat coherent intro
1 parent 1feae8a commit d50fe05

File tree

1 file changed

+13
-109
lines changed

1 file changed

+13
-109
lines changed

progNav Paper/progNav Paper.tex

Lines changed: 13 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@
3333
% As a general rule, do not put math, special symbols or citations
3434
% in the abstract
3535
\begin{abstract}
36-
The abstract goes here.
36+
Program navigation is a critical task for software developers.
37+
Unfortunately, the current state-of-the-art tools do not adequately support developers in simultaneously navigating both control flow and data flow (i.e. program flow).
38+
To assist developers in effectively navigating program flow we designed and implemented a tool that leverages powerful program analysis techniques while maintaining low barriers to invocation.
39+
Our tool enables developers to systematically navigate program flow upstream and downstream within the Eclipse IDE.
40+
Based on a preliminary evaluation, our tool is awesome!
3741
\end{abstract}
3842

3943
% no keywords
@@ -54,127 +58,27 @@
5458

5559

5660
\section{Introduction}
57-
Modern software systems contain millions of lines of source code. Need tools to navigate
61+
Modern software systems contain millions of lines of source code.
62+
As software grows in size and complexity, developers increasingly rely on tools to help them navigate the programs they create.
63+
Program navigation is a central task tied to many critical activities, including exploring new code bases, debugging, and assessing security vulnerabilities.
5864

59-
Code nav is a central task tied to most critical activites
60-
- Explore new code bases
61-
- Debugging (whyline)
62-
- Security vulnerabilities (mine)
6365

6466
Code navigation is a critical task for software developers.
6567

66-
Successful developers do not investigate source code line by line starting at the top of the file. Instead, they navigate the code's hierarchical semantic structures ~\cite{robillard2004investigate}.
68+
Successful developers do not investigate source code line by line starting at the top of the file. Instead, they navigate the code's hierarchical semantic structures ~\cite{robillard2004investigate}. Methodical and structured
6769
Developers ask questions about control flow and data flow~\cite{latoza2010hard, Smith2015}.
68-
\subsection{Subsection Heading Here}
69-
Subsection text here.
7070

71-
72-
\subsubsection{Subsubsection Heading Here}
73-
Subsubsection text here.
74-
75-
76-
% An example of a floating figure using the graphicx package.
77-
% Note that \label must occur AFTER (or within) \caption.
78-
% For figures, \caption should occur after the \includegraphics.
79-
% Note that IEEEtran v1.7 and later has special internal code that
80-
% is designed to preserve the operation of \label within \caption
81-
% even when the captionsoff option is in effect. However, because
82-
% of issues like this, it may be the safest practice to put all your
83-
% \label just after \caption rather than within \caption{}.
84-
%
85-
% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class
86-
% option should be used if it is desired that the figures are to be
87-
% displayed while in draft mode.
88-
%
89-
%\begin{figure}[!t]
90-
%\centering
91-
%\includegraphics[width=2.5in]{myfigure}
92-
% where an .eps filename suffix will be assumed under latex,
93-
% and a .pdf suffix will be assumed for pdflatex; or what has been declared
94-
% via \DeclareGraphicsExtensions.
95-
%\caption{Simulation results for the network.}
96-
%\label{fig_sim}
97-
%\end{figure}
98-
99-
% Note that the IEEE typically puts floats only at the top, even when this
100-
% results in a large percentage of a column being occupied by floats.
101-
102-
103-
% An example of a double column floating figure using two subfigures.
104-
% (The subfig.sty package must be loaded for this to work.)
105-
% The subfigure \label commands are set within each subfloat command,
106-
% and the \label for the overall figure must come after \caption.
107-
% \hfil is used as a separator to get equal spacing.
108-
% Watch out that the combined width of all the subfigures on a
109-
% line do not exceed the text width or a line break will occur.
110-
%
111-
%\begin{figure*}[!t]
112-
%\centering
113-
%\subfloat[Case I]{\includegraphics[width=2.5in]{box}%
114-
%\label{fig_first_case}}
115-
%\hfil
116-
%\subfloat[Case II]{\includegraphics[width=2.5in]{box}%
117-
%\label{fig_second_case}}
118-
%\caption{Simulation results for the network.}
119-
%\label{fig_sim}
120-
%\end{figure*}
121-
%
122-
% Note that often IEEE papers with subfigures do not employ subfigure
123-
% captions (using the optional argument to \subfloat[]), but instead will
124-
% reference/describe all of them (a), (b), etc., within the main caption.
125-
% Be aware that for subfig.sty to generate the (a), (b), etc., subfigure
126-
% labels, the optional argument to \subfloat must be present. If a
127-
% subcaption is not desired, just leave its contents blank,
128-
% e.g., \subfloat[].
129-
130-
131-
% An example of a floating table. Note that, for IEEE style tables, the
132-
% \caption command should come BEFORE the table and, given that table
133-
% captions serve much like titles, are usually capitalized except for words
134-
% such as a, an, and, as, at, but, by, for, in, nor, of, on, or, the, to
135-
% and up, which are usually not capitalized unless they are the first or
136-
% last word of the caption. Table text will default to \footnotesize as
137-
% the IEEE normally uses this smaller font for tables.
138-
% The \label must come after \caption as always.
139-
%
140-
%\begin{table}[!t]
141-
%% increase table row spacing, adjust to taste
142-
%\renewcommand{\arraystretch}{1.3}
143-
% if using array.sty, it might be a good idea to tweak the value of
144-
% \extrarowheight as needed to properly center the text within the cells
145-
%\caption{An Example of a Table}
146-
%\label{table_example}
147-
%\centering
148-
%% Some packages, such as MDW tools, offer better commands for making tables
149-
%% than the plain LaTeX2e tabular which is used here.
150-
%\begin{tabular}{|c||c|}
151-
%\hline
152-
%One & Two\\
153-
%\hline
154-
%Three & Four\\
155-
%\hline
156-
%\end{tabular}
157-
%\end{table}
158-
159-
160-
% Note that the IEEE does not put floats in the very first column
161-
% - or typically anywhere on the first page for that matter. Also,
162-
% in-text middle ("here") positioning is typically not used, but it
163-
% is allowed and encouraged for Computer Society conferences (but
164-
% not Computer Society journals). Most IEEE journals/conferences use
165-
% top floats exclusively.
166-
% Note that, LaTeX2e, unlike IEEE journals/conferences, places
167-
% footnotes above bottom floats. This can be corrected via the
168-
% \fnbelowfloat command of the stfloats package.
71+
Typically source code is presented to developers linearly. However, effective developers navigate
16972

17073
\section{Design Principles}
171-
Description of the tool. Design principles
74+
Derived these design principles by evaluating the limitations of existing program navigation tools.
17275
\subsection{Powerful Program Analysis}
76+
Program navigation tools should leverage powerful program analysis techniques.
17377

17478
\subsection{Low Barriers to Invocation}
17579

17680
\subsection{Full Program Navigation}
177-
Something that says the same tool allows users to analyze data flow \textit{across} methods.
81+
Something that says the same tool allows users to analyze data flow \textit{across} methods upstream and downstream.
17882

17983
\subsection{Enables Systematic and Complete Evaluation}
18084

0 commit comments

Comments
 (0)