\relax \citation{miller-fuzz-cacm,andrews-etal-rute-rt,pacheco-etal-icse2007,groce-etal-icse2007} \citation{michael-etal-ga-tcg,visser-etal-issta06,andrews-etal-rute-rt} \@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{2}} \citation{doong-frankl-tosem94,antoy-hamlet-tse-jan2000,claessen-hughes-quickcheck,pacheco-etal-icse2007,sen-etal-cute,visser-etal-issta06,andrews-etal-rute-rt} \citation{andrews-etal-rute-rt} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {I-A}}Randomized Unit Testing}{3}} \citation{hetzel-book-1973} \citation{Hamlet94randomtesting} \citation{weyuker-oracles} \citation{miller-fuzz-cacm} \citation{jcrasher-spe} \citation{pacheco-etal-icse2007} \citation{andrews-etal-rute-rt,ciupa-etal-icse2008} \citation{ernst-daikon} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {I-B}}Contributions and Paper Organization}{4}} \@writefile{toc}{\contentsline {section}{\numberline {II}Related Work}{4}} \newlabel{related-work-section}{{II}{4}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-A}}Randomized Unit Testing}{4}} \citation{michael-etal-ga-tcg} \citation{visser-etal-issta06} \citation{ball-pred-coverage} \citation{doong-frankl-tosem94} \citation{antoy-hamlet-tse-jan2000} \citation{andrews-zhang-tse2003} \citation{pacheco-etal-icse2007} \citation{clarke-76-testdata,king-symbolic-1976} \citation{korel-testgen} \citation{gupta-etal-gen-test-data} \citation{leow-etal-icse2004} \citation{visser-etal-issta04} \citation{godefroid-etal-dart,sen-etal-cute} \citation{owen-menzies-lurch} \citation{visser-etal-issta06} \citation{korel-testgen} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-B}}Analysis-Based Test Data Generation Approaches}{6}} \citation{holland-ga-book} \citation{goldberg-ga-book} \citation{rela04} \citation{pargas-etal-ga-tcg} \citation{michael-etal-ga-tcg} \citation{guo-etal-genetic} \citation{tonella-issta04} \citation{andrews07} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-C}}Genetic Algorithms for Testing}{7}} \citation{michael-etal-ga-tcg} \citation{visser-etal-issta06} \citation{pacheco-etal-icse2007} \citation{andrews07} \citation{groce-etal-icse2007} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-D}}Nighthawk}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-E}}Analytic Comparison of Approaches}{8}} \citation{michael-etal-ga-tcg} \citation{watkins-hufnagel-fitness} \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Spiky search space resulting from poor fitness function.}}{9}} \newlabel{spiky-search-space-fig}{{1}{9}} \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Smooth search space resulting from recasting problem.}}{9}} \newlabel{smooth-search-space-fig}{{2}{9}} \citation{frankl-weiss-tse93} \citation{andrews-siami-issta09} \citation{rothermel-etal-effects-minimization} \citation{cok-adapting-jml} \citation{havelund-pathfinder} \citation{andrews07} \@writefile{toc}{\contentsline {section}{\numberline {III}Nighthawk: System Description}{11}} \newlabel{system-description-section}{{III}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-A}}Randomized Testing Level}{11}} \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces High-level view of value pool initialization and use. In stage 1), random values are seeded into the value pools for primitive types such as {\tt int}, according to bounds associated with the pools. In stage 2), values are seeded into non-primitive type classes that have initializer constructors, by calling those constructors. In stage 3), the rest of the test case is constructed and run, by repeatedly randomly choosing a method and receiver and parameter values. Each method call may also result in a return value, which is placed back into a value pool (not shown). }}{12}} \newlabel{valuepools-fig}{{3}{12}} \@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Algorithm {\sf constructRunTestCase}.}}{13}} \newlabel{constructRunTestCase-fig}{{4}{13}} \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Algorithm {\sf tryRunMethod}.}}{13}} \newlabel{tryRunMethod-fig}{{5}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-B}}Chromosomes}{14}} \citation{michael-etal-ga-tcg} \@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Nighthawk gene types.}}{15}} \newlabel{gene-types-fig}{{6}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-C}}Genetic Algorithm Level}{16}} \citation{dejong-spears-genetic} \citation{cobertura-website} \citation{andrews07} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-D}}Top-Level Application}{17}} \newlabel{run-chromosome-sec}{{\unhbox \voidb@x \hbox {III-D}}{17}} \citation{jml-overview} \citation{pacheco-etal-icse2007} \citation{andrews07} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-E}}Test Wrappers}{18}} \newlabel{test-wrappers-section}{{\unhbox \voidb@x \hbox {III-E}}{18}} \@writefile{toc}{\contentsline {section}{\numberline {IV}Analysis and Optimization of the GA}{18}} \newlabel{optimizing-section}{{IV}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-A}}Motivation}{19}} \newlabel{eq:cost}{{1}{19}} \citation{hall03} \citation{miller02} \citation{Kir92,Kon94} \citation{Kir92} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-B}}Selecting an FSS Method}{20}} \citation{hall03} \@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Binary RELIEF (two group system) for $N$ instances for merit of different features. }}{21}} \newlabel{fig:relief2}{{7}{21}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-C}}Analysis Activities}{21}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-C}1}Merit Analysis}{21}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-C}2}Gene Type Ranking}{22}} \@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Nighthawk gene types sorted by $avgMerit$, the average RELIEF merit over all genes of that type and all subject units. }}{23}} \newlabel{fig:genes-merit-fig}{{8}{23}} \citation{andrews07} \@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Ranks of all gene types, when ranked by four measures computed from data on the first set of subject units. }}{24}} \newlabel{fig:all-gene-type-rankings-fig}{{9}{24}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-C}3}Progressive Gene Type Knockout}{24}} \citation{andrews-menzies-promise09} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-D}}Analysis Procedure}{25}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-D}1}Stage 1: Initial Analysis}{25}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-D}2}Stage 2: Re-Ranking}{25}} \@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Nighthawk on Hashtable unit, eliminating gene types according to $avgMerit$ ranking. }}{25}} \newlabel{fig:hashtable}{{10}{25}} \@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Coverage found using the top $i$ ranked gene types for $1 \le i \le 10$, using the avgMerit ranking. Coverages are expressed as a ratio of the coverages found using all gene types. }}{26}} \newlabel{fig:coverage}{{11}{26}} \@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces Time results, 1 vs 10.}}{27}} \newlabel{fig:timereport100}{{12}{27}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-D}3}Stage 3: Optimizing {\tt numberOfCalls}}{27}} \@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces Finding the optimal initial number of calls.}}{28}} \newlabel{fig:optimalInitialNumCalls}{{13}{28}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-D}4}Stage 4: Analyzing the Optimized Version}{28}} \@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Ranks of all gene types according to average merit and average gene rank, after running Nighthawk 1.1 on the {\tt java.util} classes and the Apache Commons classes. }}{29}} \newlabel{fig:all-gene-type-rankings-v1-1fig}{{14}{29}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-E}}Discussion}{30}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-E}1}Implications for Nighthawk}{30}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {IV-E}2}Implications for Other Systems}{30}} \@writefile{toc}{\contentsline {section}{\numberline {V}Properties of the Optimized System}{31}} \@writefile{toc}{\contentsline {section}{\numberline {VI}Threats to Validity}{31}} \newlabel{threats-section}{{VI}{31}} \@writefile{toc}{\contentsline {section}{\numberline {VII}Conclusions and Future Work}{31}} \newlabel{conclusions-section}{{VII}{31}} \bibstyle{IEEEtran.bst} \bibdata{my} \bibcite{miller-fuzz-cacm}{1} \bibcite{andrews-etal-rute-rt}{2} \bibcite{pacheco-etal-icse2007}{3} \bibcite{groce-etal-icse2007}{4} \bibcite{michael-etal-ga-tcg}{5} \bibcite{visser-etal-issta06}{6} \bibcite{doong-frankl-tosem94}{7} \bibcite{antoy-hamlet-tse-jan2000}{8} \bibcite{claessen-hughes-quickcheck}{9} \@writefile{toc}{\contentsline {section}{References}{32}} \bibcite{sen-etal-cute}{10} \bibcite{hetzel-book-1973}{11} \bibcite{Hamlet94randomtesting}{12} \bibcite{weyuker-oracles}{13} \bibcite{jcrasher-spe}{14} \bibcite{ciupa-etal-icse2008}{15} \bibcite{ernst-daikon}{16} \bibcite{ball-pred-coverage}{17} \bibcite{andrews-zhang-tse2003}{18} \bibcite{clarke-76-testdata}{19} \bibcite{king-symbolic-1976}{20} \bibcite{korel-testgen}{21} \bibcite{gupta-etal-gen-test-data}{22} \bibcite{leow-etal-icse2004}{23} \bibcite{visser-etal-issta04}{24} \bibcite{godefroid-etal-dart}{25} \bibcite{owen-menzies-lurch}{26} \bibcite{holland-ga-book}{27} \bibcite{goldberg-ga-book}{28} \bibcite{rela04}{29} \bibcite{pargas-etal-ga-tcg}{30} \bibcite{guo-etal-genetic}{31} \bibcite{tonella-issta04}{32} \bibcite{andrews07}{33} \bibcite{watkins-hufnagel-fitness}{34} \bibcite{frankl-weiss-tse93}{35} \bibcite{rothermel-etal-effects-minimization}{36} \bibcite{cok-adapting-jml}{37} \bibcite{havelund-pathfinder}{38} \bibcite{dejong-spears-genetic}{39} \bibcite{cobertura-website}{40} \bibcite{jml-overview}{41} \bibcite{ga-blackart}{42} \bibcite{hall03}{43} \bibcite{miller02}{44} \bibcite{Kir92}{45} \bibcite{Kon94}{46}