\contentsline {chapter}{\numberline {1}Introduction}{1} \contentsline {section}{\numberline {1.1}Motivation}{1} \contentsline {section}{\numberline {1.2}Statement of Thesis}{4} \contentsline {section}{\numberline {1.3}Contribution of This Work}{4} \contentsline {section}{\numberline {1.4}Document Structure}{5} \contentsline {chapter}{\numberline {2}Related Work}{7} \contentsline {section}{\numberline {2.1}Software Estimation Research}{7} \contentsline {section}{\numberline {2.2}Search-Based Software Engineering (SBSE)}{8} \contentsline {section}{\numberline {2.3}Model: Benefits}{8} \contentsline {section}{\numberline {2.4}Model: Drawbacks}{9} \contentsline {chapter}{\numberline {3}The {$\mathcal {W}$}2 Algorithm}{14} \contentsline {section}{\numberline {3.1}Case-Based Reasoning}{14} \contentsline {section}{\numberline {3.2}Contrast Set Learning (CSL)}{16} \contentsline {section}{\numberline {3.3}The {$\mathcal {W}$}2 Algorithm}{18} \contentsline {subsection}{\numberline {3.3.1}Relevancy Filtering}{21} \contentsline {subsection}{\numberline {3.3.2}Utility Separation}{21} \contentsline {subsection}{\numberline {3.3.3}Contrast Set Generation}{22} \contentsline {subsection}{\numberline {3.3.4}Estimating Impact}{23} \contentsline {section}{\numberline {3.4}Measuring Performance}{26} \contentsline {chapter}{\numberline {4}Experiments with {$\mathcal {W}$}2}{28} \contentsline {section}{\numberline {4.1}Datasets and Project Descriptions}{28} \contentsline {section}{\numberline {4.2}Experiment: {$\mathcal {W}$}2 vs {$\mathcal {W}$}}{30} \contentsline {section}{\numberline {4.3}Experiment: {$\mathcal {W}$}2's Performance Across Multiple Datasets}{32} \contentsline {section}{\numberline {4.4}Experiment: Intra- and Inter-Project Stability}{34} \contentsline {section}{\numberline {4.5}Experiment: Comparing Drastic Changes to {$\mathcal {W}$}2}{37} \contentsline {chapter}{\numberline {5}Model-Based vs. Case-Based Algorithms}{42} \contentsline {section}{\numberline {5.1}Model-based Case Studies}{42} \contentsline {section}{\numberline {5.2}SEESAW}{44} \contentsline {section}{\numberline {5.3}Five Additional AI Model-Based Algorithms}{49} \contentsline {section}{\numberline {5.4}Comparisons of AI Model-based Methods}{51} \contentsline {section}{\numberline {5.5}Model vs. Case-Based Methods}{52} \contentsline {chapter}{\numberline {6}Discussion}{57} \contentsline {section}{\numberline {6.1}When Not to Use {$\mathcal {W}$}2}{57} \contentsline {section}{\numberline {6.2}Model-lite}{59} \contentsline {section}{\numberline {6.3}Scope of the Study}{60} \contentsline {chapter}{\numberline {7}Conclusion}{62} \contentsline {chapter}{\numberline {A}{$\mathcal {W}$}2 Source Code}{65} \contentsline {section}{\numberline {A.1}w.sh}{65} \contentsline {section}{\numberline {A.2}w.awk}{66} \contentsline {section}{\numberline {A.3}apply.awk}{71} \contentsline {section}{\numberline {A.4}contrast.awk}{79} \contentsline {section}{\numberline {A.5}discretize.awk}{81} \contentsline {section}{\numberline {A.6}neighbors.awk}{84} \contentsline {section}{\numberline {A.7}projects.awk}{85} \contentsline {section}{\numberline {A.8}util.awk}{88} \contentsline {chapter}{\numberline {B}Example Dataset and Project Descriptions}{96} \contentsline {section}{\numberline {B.1}NASA93 Project Descriptions}{96} \contentsline {subsection}{\numberline {B.1.1}NASA Ground Software}{96} \contentsline {subsection}{\numberline {B.1.2}NASA Flight Software}{96} \contentsline {subsection}{\numberline {B.1.3}NASA Orbital Space Plane (OSP)}{97} \contentsline {subsection}{\numberline {B.1.4}NASA Orbital Space Plane 2 (More Limited Scope)}{97} \contentsline {section}{\numberline {B.2}NASA93 Historical Data for Defects, Effort, and Months}{98}