{\vspace {3\baselineskip }}
\contentsline {section}{\hspace {-\parindent }COPYRIGHT}{iii}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }ABSTRACT}{iv}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }ACKNOWLEDGEMENTS}{v}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }TABLE OF CONTENTS}{viii}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }LIST OF TABLES}{ix}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }LIST OF FIGURES}{xi}{}%
\contentsline {chapter}{\numberline {CHAPTER 1: }{\bf \uppercase {INTRODUCTION}}}{1}{}%
\contentsline {section}{\numberline {1.1}\bf Introduction to Attack Graphs}{1}{}%
\contentsline {section}{\numberline {1.2}\bf Application to Compliance}{2}{}%
\contentsline {subsection}{\numberline {1.2.1}\it Introduction to Compliance Graphs}{2}{}%
\contentsline {subsection}{\numberline {1.2.2}\it Defining Compliance Graphs}{3}{}%
\contentsline {subsection}{\numberline {1.2.3}\it Difficulties of Compliance Graphs}{3}{}%
\contentsline {section}{\numberline {1.3}\bf Objectives and Contributions}{4}{}%
\contentsline {chapter}{\numberline {CHAPTER 2: }{\bf \uppercase {RELATED WORKS}}}{5}{}%
\contentsline {section}{\numberline {2.1}\bf Introduction to Graph Generation}{5}{}%
\contentsline {section}{\numberline {2.2}\bf Graph Generation Improvements}{5}{}%
\contentsline {section}{\numberline {2.3}\bf Improvements Specific to Attack Graph Generation}{6}{}%
\contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{8}{}%
\contentsline {section}{\numberline {3.1}\bf Path Walking}{8}{}%
\contentsline {section}{\numberline {3.2}\bf Color Coding}{9}{}%
\contentsline {section}{\numberline {3.3}\bf Compound Operators}{11}{}%
\contentsline {section}{\numberline {3.4}\bf Relational Operators}{12}{}%
\contentsline {section}{\numberline {3.5}\bf Intermediate Database Storage}{13}{}%
\contentsline {subsection}{\numberline {3.5.1}\it Memory Constraint Difficulties}{13}{}%
\contentsline {subsection}{\numberline {3.5.2}\it Maximizing Performance with Intermediate Database Storage}{14}{}%
\contentsline {subsection}{\numberline {3.5.3}\it Portability}{16}{}%
\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{17}{}%
\contentsline {section}{\numberline {4.1}\bf Introduction}{17}{}%
\contentsline {subsection}{\numberline {4.1.1}\it Related Synchronous Firing Work}{18}{}%
\contentsline {section}{\numberline {4.2}\bf Necessary Alterations and Additions}{19}{}%
\contentsline {subsection}{\numberline {4.2.1}\it GNU Bison and Flex}{19}{}%
\contentsline {subsection}{\numberline {4.2.2}\it PostgreSQL}{20}{}%
\contentsline {subsection}{\numberline {4.2.3}\it Compound Operators}{21}{}%
\contentsline {subsection}{\numberline {4.2.4}\it Graph Generation}{21}{}%
\contentsline {section}{\numberline {4.3}\bf Experimental Networks and Results}{22}{}%
\contentsline {subsection}{\numberline {4.3.1}\it Experimental Networks}{22}{}%
\contentsline {subsection}{\numberline {4.3.2}\it Results}{24}{}%
\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Parallelization Using MESSAGE PASSING INTERFACE}}}{28}{}%
\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack and Compliance Graph Generation}{28}{}%
\contentsline {section}{\numberline {5.2}\bf Necessary Components}{28}{}%
\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{28}{}%
\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{29}{}%
\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{29}{}%
\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{31}{}%
\contentsline {subsubsection}{\numberline {5.3.2.1}Communication Structure}{31}{}%
\contentsline {subsubsection}{\numberline {5.3.2.2}Task 0}{33}{}%
\contentsline {subsubsection}{\numberline {5.3.2.3}Task 1}{33}{}%
\contentsline {subsubsection}{\numberline {5.3.2.4}Task 2}{34}{}%
\contentsline {subsubsection}{\numberline {5.3.2.5}Task 3}{34}{}%
\contentsline {subsubsection}{\numberline {5.3.2.6}Task 4 and Task 5}{36}{}%
\contentsline {subsubsection}{\numberline {5.3.2.7}MPI Tags}{37}{}%
\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations and Use Cases}{37}{}%
\contentsline {subsection}{\numberline {5.3.4}\it Results}{38}{}%
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{39}{}%
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{41}{}%
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{41}{}%
\contentsline {subsubsection}{\numberline {5.4.2.1}Worker Nodes}{42}{}%
\contentsline {subsubsection}{\numberline {5.4.2.2}Root Node}{43}{}%
\contentsline {subsubsection}{\numberline {5.4.2.3}Database Node}{44}{}%
\contentsline {subsubsection}{\numberline {5.4.2.4}MPI Tags}{44}{}%
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations and Use Cases}{44}{}%
\contentsline {subsection}{\numberline {5.4.4}\it Results}{45}{}%
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{54}{}%
\contentsline {section}{\numberline {6.1}\bf Conclusions}{54}{}%
\contentsline {section}{\numberline {6.2}\bf Future Work}{55}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{58}{}%
\addvspace {10pt}
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{58}{}%
{\hfill \ }
