\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}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {I-B}}Contributions and Paper Organization}{4}} \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} \citation{michael-etal-ga-tcg} \citation{visser-etal-issta06} \citation{ball-pred-coverage} \@writefile{toc}{\contentsline {section}{\numberline {II}Related Work}{5}} \newlabel{related-work-section}{{II}{5}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-A}}Randomized Unit Testing}{5}} \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} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-B}}Analysis-Based Test Data Generation Approaches}{6}} \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} \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} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-C}}Genetic Algorithms for Testing}{7}} \citation{groce-etal-icse2007} \citation{michael-etal-ga-tcg} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-D}}Analytic Comparison of Approaches}{8}} \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{rothermel-etal-effects-minimization} \citation{cok-adapting-jml} \citation{havelund-pathfinder} \citation{andrews07} \@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). }}{11}} \newlabel{valuepools-fig}{{3}{11}} \@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 {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}} \newlabel{object-section}{{\unhbox \voidb@x \hbox {III-A}}{14}} \@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} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-D}}Top-Level Application}{17}} \newlabel{deep-section}{{\unhbox \voidb@x \hbox {III-D}}{17}} \newlabel{run-chromosome-sec}{{\unhbox \voidb@x \hbox {III-D}}{17}} \citation{jml-overview} \citation{pacheco-etal-icse2007} \citation{michael-etal-ga-tcg} \@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}Comparison with Previous Results}{18}} \newlabel{comparison-section}{{IV}{18}} \citation{visser-etal-issta06} \citation{pacheco-etal-icse2007} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-A}}Pure GA Approach}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-B}}Model-Checking and Feedback-Directed Randomization}{19}} \citation{ball-pred-coverage} \@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Comparison of results on the JPF subject units.}}{20}} \newlabel{jpf-results-fig}{{7}{20}} \@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Multiple condition coverage of the subject units.}}{20}} \newlabel{jpf-mcc-results-fig}{{8}{20}} \citation{cornett-minimum-coverage} \citation{berner-etal-icse07} \@writefile{toc}{\contentsline {section}{\numberline {V}Case Study}{21}} \newlabel{case-study-section}{{V}{21}} \@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Coverage achieved by configurations of Nighthawk on the {\tt java.util} Collection and Map classes. }}{22}} \newlabel{collection-map-cov}{{9}{22}} \@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Time in seconds taken by configurations of Nighthawk to achieve highest coverage on the {\tt java.util} Collection and Map classes. }}{23}} \newlabel{collection-times}{{10}{23}} \citation{ga-blackart} \@writefile{toc}{\contentsline {section}{\numberline {VI}Optimizing GAs}{24}} \newlabel{optimizing-section}{{VI}{24}} \citation{hall03} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {VI-A}}Motivation}{25}} \newlabel{eq:cost}{{1}{25}} \citation{miller02} \citation{Kir92,Kon94} \citation{Kir92} \@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Binary RELIEF (two group system) for $N$ instances for merit of different features. }}{26}} \newlabel{fig:relief2}{{11}{26}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {VI-B}}Selecting an FSS Method}{26}} \citation{hall03} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {VI-C}}Initial FSS Analysis of Nighthawk}{27}} \@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces Nighthawk gene types, sorted by the maximum RELIEF merit of any of its features. }}{28}} \newlabel{fig:genes-merit-fig}{{12}{28}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {VI-D}}An FSS Experiment}{28}} \@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces Nighthawk on Hashtable unit, eliminating gene types according to $avgMerit$ ranking. }}{29}} \newlabel{fig:hashtable}{{13}{29}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-D}1}Coverage Results}{29}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-D}2} Runtime Results}{29}} \@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Coverage found using the top $i$ ranked gene types for $1 \le i \le 10$. Coverages are expressed as a ratio of the coverages found using all gene types. }}{30}} \newlabel{fig:coverage}{{14}{30}} \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {VI-E}}Discussion}{30}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-E}1}Implications for Nighthawk}{30}} \@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces Time results, 1 vs 10.}}{31}} \newlabel{fig:timereport100}{{15}{31}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-E}2}Implications for Other Systems}{31}} \@writefile{toc}{\contentsline {section}{\numberline {VII}Threats to Validity}{32}} \newlabel{threats-section}{{VII}{32}} \@writefile{toc}{\contentsline {section}{\numberline {VIII}Conclusions and Future Work}{32}} \newlabel{conclusions-section}{{VIII}{32}} \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} \bibcite{sen-etal-cute}{10} \bibcite{hetzel-book-1973}{11} \bibcite{Hamlet94randomtesting}{12} \@writefile{toc}{\contentsline {section}{References}{33}} \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{bouck03}{33} \bibcite{demsar06}{34} \bibcite{mckeeman-differential}{35} \bibcite{watkins-hufnagel-fitness}{36} \bibcite{frankl-weiss-tse93}{37} \bibcite{rothermel-etal-effects-minimization}{38} \bibcite{andrews-ase2004}{39} \bibcite{cok-adapting-jml}{40} \bibcite{havelund-pathfinder}{41} \bibcite{andrews07}{42} \bibcite{dejong-spears-genetic}{43} \bibcite{cobertura-website}{44} \bibcite{jml-overview}{45} \bibcite{cornett-minimum-coverage}{46} \bibcite{berner-etal-icse07}{47} \bibcite{ga-blackart}{48} \bibcite{hall03}{49} \bibcite{miller02}{50} \bibcite{Kir92}{51} \bibcite{Kon94}{52}