2019-10-28 02:33:14 +00:00
I am an assistant professor in the [Department of Computer
2021-07-16 22:12:58 +00:00
Science](https://www.cs.cornell.edu/) at [Cornell
University](https://www.cornell.edu).
2018-09-03 06:46:31 +00:00
2020-02-04 21:27:50 +00:00
**I am always looking for good students!**
2018-09-03 06:46:31 +00:00
2021-07-16 22:12:58 +00:00
Previously, I was an assistant professor in the [Department of Computer
Sciences](https://www.cs.wisc.edu/) at the [University of
Wisconsin--Madison](https://www.wisc.edu), and a postdoc at the [Department of
Computer Science](https://www.cs.cornell.edu/) at [Cornell
University](https://www.cornell.edu/), and in the [Programming Principles,
2018-09-03 06:46:31 +00:00
Logic, and Verification Group](http://pplv.cs.ucl.ac.uk/welcome/) at the
2020-02-04 21:27:50 +00:00
[University College London ](https://www.ucl.ac.uk/ ). I was a graduate student in
the [Department of Computer Science ](https://cis.upenn.edu ) at the [University
of Pennsylvania](https://www.upenn.edu).
2015-08-17 10:10:24 +00:00
2023-01-10 23:09:20 +00:00
I am funded by the National Science Foundation, the Office of Naval Research,
and Facebook Research.
2020-05-01 21:15:43 +00:00
2015-01-05 04:43:45 +00:00
## Research Interests ##
2018-09-03 06:46:31 +00:00
I design methods to **formally verify** that programs are correct, especially
2018-09-03 06:47:05 +00:00
programs that use **randomization** . Such programs can be easy to show correct
on paper, but surprisingly challenging for computers to analyze. Accordingly,
my research blends ideas from two classical areas of computer science:
**randomized algorithms** from theoretical computer science (**TCS**) and
**formal verification**.
2018-09-03 06:46:31 +00:00
Drawing inspiration from how humans reason about randomized algorithms, we can
build simpler and more automated verification techniques. In the past, I've
applied this approach to properties like **accuracy** , **incentive
compatibility**, Markov chain **mixing** , and various notions of **algorithmic
stability**.
A particular focus of my work has been [**differential
2017-11-14 16:06:41 +00:00
privacy**](https://en.wikipedia.org/wiki/Differential_privacy), a rigorous
2015-01-05 04:43:45 +00:00
definition of privacy that is currently under extensive study.
2018-09-03 06:46:31 +00:00
I have investigated a variety of formal methods---such as [**type
2017-11-14 16:06:41 +00:00
systems**](https://en.wikipedia.org/wiki/Type_system) and [**program
logics**](https://en.wikipedia.org/wiki/Hoare_logic)---to verify that programs
2018-09-03 06:46:31 +00:00
are differentially private.
From a more traditional algorithms perspective, I am also interested in applying
differential privacy to optimization, machine learning, and mechanism design.
2017-01-17 10:33:57 +00:00
2018-09-05 03:51:09 +00:00
## Teaching ##
2023-01-10 23:09:20 +00:00
- **Data Structures and Functional Programming (CS 3110)**: [S23 ](https://www.cs.cornell.edu/courses/cs3110/2023sp/ ) [S22 ](https://www.cs.cornell.edu/courses/cs3110/2022sp/ )
2022-08-04 02:38:49 +00:00
- **Category Theory for Computer Scientists (CS 6117)**: [F22 ](https://www.cs.cornell.edu/courses/cs6117/2022fa/ )
2022-08-03 14:31:15 +00:00
- **Foundations of Probabilistic Programming (CS 6182)**: [F21 ](teaching/f21/cs6182 )
2021-07-10 23:35:58 +00:00
- **Reasoning about Probabilistic Programs** < br >
**Invited Course at [OPLSS 2021](https://www.cs.uoregon.edu/research/summerschool/summer21/index.php)** :
2022-11-07 18:41:25 +00:00
[[slides ](https://justinhsu.net/files/slides/oplss21.pdf )] [[recordings ](https://www.cs.uoregon.edu/research/summerschool/summer21/topics.php )]
2023-01-10 23:11:39 +00:00
- **Security and Privacy in Data Science (CS 763)**: [F20 ](teaching/f20/cs763/ ) [F19 ](teaching/f19/cs763/ )
- **Introduction to the Theory and Design of PL (CS 538)**: [S20 ](teaching/s20/cs538/ ) [S19 ](teaching/s19/cs538/ )
2021-01-14 16:55:18 +00:00
- **Topics in Security and Privacy Technologies (CS 839)**: [F18 ](teaching/f18/cs839/ )
2018-09-05 03:51:09 +00:00
2017-01-17 10:33:57 +00:00
## Service ##
2022-09-30 15:52:00 +00:00
- **2023** CSF, ICALP-B, LICS, OOPSLA, MFPS
2022-03-01 05:06:48 +00:00
- **2022** POPL, PLDI, MFPS (co-chair)
2021-04-01 22:14:17 +00:00
- **2021** ESOP, PLMW@POPL, CSF, AAAI, COLT, WoLLIC, MFPS
2020-05-18 17:24:05 +00:00
- **2020** AAAI, CSF, LAFI, WoLLIC, PLMW@POPL, OOPSLA (ERC)
2020-02-04 21:27:50 +00:00
- **2019** POPL, PLMW@POPL, POST, CSF, DARS (co-chair)
2018-05-25 20:37:57 +00:00
- **2018** LICS, WWW
- **2017** FCS, TPDP, MFPS
- **2016** PLDI (ERC)
2021-07-10 22:41:56 +00:00
## Blogging ##
2021-07-19 17:33:49 +00:00
I've greatly enjoyed blogging for [PL Perspectives ](https://blog.sigplan.org/blog/ )!
2021-07-10 22:41:56 +00:00
- [**Verifying Randomized Algorithms: Why and How?** ](https://blog.sigplan.org/2020/10/20/verifying-randomized-algorithms-why-and-how/ )
2021-07-19 17:33:49 +00:00
- [**Re-Imagining the “Programming Paradigms” Course** ](https://blog.sigplan.org/2021/01/28/re-imagining-the-programming-paradigms-course/ )
- [**Programming Languages Mentoring Workshop: Ten Years Later** ](https://blog.sigplan.org/2021/05/11/programming-languages-mentoring-workshop-ten-years-later/ )