\TUchapter{CONCLUSIONS AND FUTURE WORKS}
\TUsection{Conclusions}
This thesis presented various extensions to an attack graph generator, RAGE, to allow for a broader range of utilities. In order to reduce the complexity required for network model and exploit file creations, Sections \ref{sec:compops} and \ref{sec:relops} discussed the implementation of relational and compound operators. Both implementations simplify the amount of manual enumeration or manual specifications of asset qualities, and simplifies checks to singular lines. In addition, these implementations reduce the complexity required for synchronous firing exploit creations by avoiding the need for (for instance) time flags and enumeration of time all time instances. These sections also allow for more complex attack modeling, since broad sweeps and generic \gt or \lt checks can be performed. Due to the intermediate database storage feature presented in Section \ref{sec:db-stor}, very large attack or compliance graphs can be generated without fear of memory consumption, assuming very large storage solutions are in place. Section \ref{sec:PW} discusses the path walking feature, which is able to split attack and compliance graphs into subgraphs that can be used to simplify the analysis process by examining only smaller portions or focus areas of a network at a time.

Chapter \ref{ch:Sync-Fire} presents the synchronous firing feature, which is successfully able to reduce the state space and runtime of the generation process when assets have inseparable features. This feature does not lose any substantive information from a graph, and the graph is able to remain exhaustive and still capture all necessary information. The results are promising, and greater reductions are expected when a greater number of assets share inseparable features, as discussed in Section \ref{sec:FW}.

Chapter \ref{ch:MPI} presented two approaches for utilizing MPI for extension to the distributed computing platform space. One approach was a task parallelism approach discussed in Section \ref{sec:MPI-Tasking}, and promising results were observed as the generation of each state increased in computation requirements. The second approach was a data parallelism approach discussed in Section \ref{sec:MPI_Subgraphing}. While results were not promising for this approach, future works can be conducted to optimize and avoid the difficulties of duplicate work and communication overhead.

Throughout this thesis and its works, RAGE has demonstrated its extensions to support compliance graph generation. Section \ref{sec:CG-alter} discussed the alterations required for attack graph generators to support compliance graphs, and example compliance graphs have been generated in the results seen in Sections \ref{sec:Sync-Results}, \ref{sec:Tasking-Results}, and \ref{sec:Subgraphing-Results}.


\TUsection{Future Work} \label{sec:FW}
%Sync Fire more assets
%Large networks for the Tasking approach to give Task 2 a realistic workload
%Blending OpenMP and MPI
%Subgraphing Work
    %DHT alts
    %depth limit parameter tuning
%Tuning MPI Params
%Testing various MPI implementations (OpenMPI vs MPICH vs MVAPICH)