Ethan Fast

From Santa Fe Institute Events Wiki


I'm a rising senior at the University of Virginia, majoring in Computer Science (and perhaps Cognitive Science as well).

I'm from from the great suburbia of Northern Virginia, a place that I don't find terribly interesting.

I write frequently -- in short fiction and, more technically, on my blog [1].

I find that random wanderings often crystalize thought, so I'm rarely working in one place for too long.

Along those lines, I'm also a fan of minimalist/barefoot running. For instance: [2]


Broadly, I'm interested in artificial intelligence and machine learning, as biased by a fascination with the evolutionary paradigm.

While at U.Va, I was fortunate enough to become involved in a group working on automatic program repair with genetic algorithms. This is exactly as it sounds: given broken C source code, an indicative bug, and a regression test suite, we generate a new "fixed" program. See this paper for an overview. [3] More specifically, I was part of a research effort to increase the efficiency and precision of our fitness function by applying test case sampling techniques and using dynamic predicates. [4].

Complex Systems research seems potentially to be a natural fit for my interests, which don't neatly fit into any one area or discipline. SFI sounded like an excellent place to come and try out this kind of interdisciplinary work.

Research Abstract

Mentor: Stephanie Forrest

Mutational robustness describes how likely a variant's phenotype is to remain constant in response to mutations applied within its genotype. This measure has not been evaluated with respect to a genetic programming (GP) approach to automated program repair. We will use a functional definition of phenotype (for each program, a regression test suite) to address several interesting questions. First, the degree of mutational robustness within variants generated by the current repair technique is unknown, and we can quantify this measure. Further, we will investigate whether robustness is a desirable property in the GP program repair context. We hypothesize that baseline generations with greater mutational robustness are more likely to evolve repairs, and moreover, that greater robustness across generations increases the GP algorithm's performance. Finally, we will examine several strategies by which variant robustness can be increased --- changes in variant representation, and pre-selection of robust variants --- and will test the claim that, on average, the use of such strategies shortens the time required to achieve a repair.