Ignore:
Timestamp:
Apr 23, 2019, 3:41:51 PM (5 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
3b40801b
Parents:
cf01d0b
Message:

thesis: integrate defence answers as clarifications into thesis

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/aaron_moss_PhD/phd/experiments.tex

    rcf01d0b rc4b5486  
    88\CFACC{} can generate realistic test inputs for the resolver prototype from equivalent \CFA{} code;
    99the generated test inputs currently comprise all \CFA{} code currently in existence\footnote{Though \CFA{} is backwards-compatible with C, the lack of \lstinline{forall} functions and name overloading in C mean that the larger corpus of C code does not provide challenging test instances for \CFACC{}}, 9,000 lines drawn primarily from the standard library and compiler test suite.
     10This code includes a substantial degree of name overloading for common library functions and a number of fundamental polymorphic abstractions, including iterators and streaming input/output.
    1011\CFACC{} is also instrumented to produce a number of code metrics.
    1112These metrics were used to construct synthetic test inputs during development of the resolver prototype; these synthetic inputs provided useful design guidance, but the performance results presented in this chapter are based on the more realistic directly-generated inputs.
    12 
    13 % There are three sources of problem instances for the resolver prototype.
    14 % The first is small, hand-written tests designed to test the expressive power and correctness of the prototype.
    15 % These tests are valuable for regression testing, but not time-consuming enough to be useful performance tests.
    16 % The second sort of problem instances are procedurally generated according to a set of parameters (distributions of polymorphic versus monomorphic functions, number of function arguments, number of types, \etc{}); the procedural problem generator can be used to explore the behaviour of an algorithm with respect to certain sorts of problem instances by varying the input parameters.
    17 % I have implemented a flagged \CFACC{} pass which outputs information which can be used to initialize the procedural generator's parameters to realistic values.
    18 % The final sort of problem instances are derived from actual \CFA{} code.
    19 % The prototype has a rich enough representation of \CFA{} that actual instances of expression resolution can be expressed with good fidelity, and I have implemented a compiler pass for \CFACC{} which can generate instances from \CFA{} code.
    20 % Since at this juncture all development in \CFA{} is done by our research team, I have tested the prototype system on all \CFA{} code currently extant, primarily the standard library and compiler test suite.
    2113
    2214\section{Resolver Prototype Features} \label{rp-features-sec}
Note: See TracChangeset for help on using the changeset viewer.