\input{figures/exampleArffFile.tex}
The data used for training and testing is stored in the arff format. This format was chosen to insure compatibility with past and future experiments. This is the format used by the Modeling Intelligence Lab at West Virginia University. The format consists of the following:
\bi
	\item The name of the dataset.
	\item A list of the attributes.
	\item A comma separated list of the data.
	\item Any comments such as copy write information, details about the data collection process, and descriptions of any abnormalities.
\ei

Each attribute consists of a name and its type. The type is either the word numeric, signifying that the data consists of a continuous range of numbers, or a list of discrete values, separated by commas and wrapped with braces. The last attribute is used as the class attribute. Comments can be included in any place in the document by precluding the comment by a percent sign (\%).

Each dataset has the same attributes so that the 10 datasets could all be used in Cross Company Examination. To accomplish this, many attributes had to be removed from each dataset. The datasets used originally had upwards of 39 separate attributes, but only the 18 attributes and class attribute described below were shared between all 10 datasets. These attributes used are a mixture of the McCabe Code Metrics\cite{mccabeMetrics}, Halstead Code Metrics\cite{halsteadMetrics}, and static Line of Code Metrics. Each instance represents one module from the original source code. The code statistics are compiled using various code metric collection tools such as the Prest Metrics Extraction and Analysis Tool\footnote{This tool is used to extract the metrics for AR3, AR4, and AR5.}\cite{prestMetricsTool} The attributes used are as follows:
\bi
	\item Halstead Code Metrics:
	\bi
		\item Program Volume: The information contents of the module.
		\item Program Level: The inverse of the error proneness.
		\item Difficulty Level: The error proneness of a module.
		\item n1: Unique Operators.
		\item n2: Unique Operands.
		\item N1: Total Operators.
		\item N2: Total Operands.
		\item Effort To Implement: $\textit{Program Volume} * \textit{Difficulty Level}$.
		\item Number of Delivered Bugs: $\frac{(\textit{Program Volume} * \textit{Difficulty Level})^{\frac{2}{3}}}{3000}$.
		\item Time to Implement: $\frac{\textit{Program Volume} * \textit{Difficulty Level}}{18}$ seconds to implement.
		\item Intelligent Content: The complexity of the underlying algorithms as expressed in any language.
	\ei
	\item McCabe Code Metrics:
	\bi
		\item v(g): Cyclomatic Complexity.
		\item ev(g): Essential Complexity.
	\ei
	\item Line of Code Metrics:
	\bi
		\item Lines: The total number of lines in the module.
		\item Branch Count: The number of branching decisions in a module. Ax example would be for loops, if/then/else statements, etcetera.
		\item Lines of Code: The number of lines in the module that contain executable code or whitespace.
		\item lOComment: The number of lines in the module that contain comment code.
		\item locCodeAndComment: The number of lines in the module that contain comments or executable code.
	\ei	
	\item Defects: If a module was defective or non-defective.
\ei











