\begin{slide}{Program and Cast} \begin{description} \item[ACT I ({\em Warming Up}):] \hspace{1in} \\ \begin{itemize} \item Introduction and Soot Basics {\blue (Laurie)} \item Intraprocedural Analysis in Soot {\blue (Patrick)} \end{itemize} \item[ACT II ({\em The Home Stretch}):] \hspace{1in} \\ \begin{itemize} \item Interprocedural Analyses and Call Graphs {\blue (Ond\v{r}ej)} \item Attributes in Soot and Eclipse {\blue (Ond\v{r}ej,Feng,Jennifer)} \item {\red Conclusion, Further Reading \& Homework {\blue (Laurie)}} \end{itemize} \end{description} \end{slide} \begin{slide}{Conclusion} \begin{itemize} \item Have introduced Soot, a framework for analyzing, optimizing, tagging and visualizing Java bytecode. \item Have shown the basics of using Soot as a stand-alone tool and also how to add new functionality to Soot. \item Now for some homework and reading. \end{itemize} \end{slide} \begin{slide}{Homework} \begin{itemize} \item Try out Soot \begin{description} \item[Super easy:] Soot as a stand-alone tool, Eclipse plugin \item [Easy:] implement a new intraprocedural analysis and generate tags for it. \item [More challenging:] implement whole program analysis, toolkit or a new IR. \end{description} \item Please stay in touch, tell us how you are using Soot and contribute back any new additions you make. \end{itemize} \end{slide} \begin{slide}{Resources} \begin{small} \begin{description} \item[Main Soot page:] \textbf{\texttt{www.sable.mcgill.ca/soot/}} \item[Theses and papers:] \textbf{\texttt{www.sable.mcgill.ca/publications/}} \item[Tutorials:] \textbf{\texttt{www.sable.mcgill.ca/soot/tutorial/}} \item[Javadoc:] in main Soot distribution, \textbf{\texttt{www.sable.mcgill.ca/software/\#soot}} and also online at \textbf{\texttt{www.sable.mcgill.ca/soot/doc/}}. \item[Mailing lists:] \textbf{\texttt{www.sable.mcgill.ca/soot/\#mailingLists}} \item[Soot in a Course:] \textbf{\texttt{www.sable.mcgill.ca/\~{}hendren/621/}} \end{description} \end{small} \end{slide} \begin{slide}{Further reading} \begin{description} \item [Introduction to Soot (1.x):] Raja's thesis, CASCON 99, CC 2000, SAS 2000 \item [Initial design of attributes:] CC 2001 \item [Array bounds checking elimination:] Feng's thesis, CC 2002 \item [Decompiling:] Jerome's thesis, WCRE 2001, CC 2002 \item [Points-to analysis:] Ond\v{r}ej's thesis, CC 2003, PLDI 2003 (BDD-based) \end{description} \end{slide}