### Yihong Zhang (张轶泓)

**Undergrad at the University of Washington**

`$(firstname[0])$(lastname[0])489@cs.washington.edu`

### About me

I’m an undergrad studying Computer Science at UW Seattle. I'm broadly interested in the theories and applications of programming languages.

Resume (outdated) | Coursework | Blog | GitHub### Preprints

**GeCo: Quality Counterfactual Explanations in Real Time**(submitted to VLDB 2021)

Maximilian Schleich, Zixuan Geng, Yihong Zhang, Dan Suciu

[arxiv] [src]

### Graduate course projects

**A Staged Datalog Compiler using Lightweight Modular Staging**

In this project, I build a staged Datalog compiler using Lightweight Modular Staging (LMS). Experiments show that it achieves up to 10x speedup compared to Souffle Datalog tool. [report] [src]**Cornelius: Killing equivalent and redundant mutants with E-graph**

with Ben Kushigian, Ishan Chatterjee, and Gabrielle Strandquist. We propose to utilize E-graph to eliminate equivalent and redundant mutants for mutation testing. This addresses the phase-ordering problem faced by Trivial Compiler Equivalence (TCE), a known technique for eliminating equivalent mutants. Experiments on a pure Java subset show that it discovers much more equivalent and redundant mutants than TCE in less time. [report] [src]**Sager: A Demonic Graph Synthesizer for Worst-Case Performance**

with Mike He. We propose to use symbolic evaluations to synthesize input instances that determine the worst-case complexity of a given algorithm. We build a prototype implementation with Rosette and show that it makes Shortest-Path Faster Algorithm (SPFA) and its several variants asymptotically worse. [src]

### Programming for fun

**Hatafun:**Embedding the type system of Datafun (ICFP 2016) in Haskell.**2TBF:**A proof-of-concept compiler from (our favorite) Pascal to an extension of brainfuck lang with two tapes.