This thesis studied the concept of locality as it pertains to software defect prediction. Software defect prediction is the process of predicting which modules, or functions, in a software project are defective. The purpose of software defect prediction is to reduce the cost and time required to detect defects. This is accomplished by using statistics taken from the source code called Software Code Metrics. Code Metrics are an attempt to capture the complexity, structure, and error proneness of a module within a series of numbers. These can represent such things as the number of lines of code, the number of operators, the number of variables, and the design complexity of the module. The code metrics are gathered for each module in the software project, and, along with the defect data collected during development thus far, become a dataset.

A subset of a dataset\footnote{This represents the training dataset. The remaining is used as the testing dataset.}, such as the NASA and SoftLab datasets, are passed to a classifier. The classifier attempts to create an accurate model of the training data. This model is then used to classify the testing dataset as defective or non-defective. 

In classification, locality is often used in an attempt to improve the classification performance of various algorithms. Local data is training data semantically close to the data which is used for classification. Locality states that by using local data to classify on, the irrelevant and noisy data is avoided. In \chap{results} I show the results of many different studies that demonstrate the usefulness of locality in software defect prediction. In the next section, I will comment on those results, and detail the state of locality in software defect prediction.
