Photo: Daniel Jackson.
I am a final-year Ph.D. student at MIT advised by Armando Solar-Lezama. I received my bachelor's degree from Harvard in 2008. My research interests are in programming language design, software verification, and privacy and security.
My research is about designing language constructs and execution strategies that allow the runtime to take responsibility for tedious, error-prone tasks that cut across the program. For my Ph.D. thesis I have created a programming language, Jeeves, for automatically enforcing information flow policies for privacy and security. I am building a web framework that extends the programming model in database-backed applications.
- Jeeves, a language I created for automatically enforcing security and privacy policies.
- Verve (on Wikipedia), an operating system I built with Chris Hawblitzel automatically verified end-to-end for type safety. This work won Best Paper Award at PLDI 2010.
- Ask Reeves, a verifier I built for privacy policies at Facebook. The details of this work are not public but I filed a patent in 2013 and am happy to talk about it.
- F*, a language for secure distributed programming using dependent types.
- I also collaborate with the developers of the Julia language for scientific programming.
- Secure Distributed Programming with Value-Dependent Types, Nikhil Swamy, Juan Chen, Cédric Fournet, Pierre-Yves Strub, Karthikeyan Bharagavan, and Jean Yang. Journal of Functional Programming 23(4), July 2013. [BibTex]
- Faceted Execution of Policy-Agnostic Programs, Thomas H. Austin, Jean Yang, Cormac Flanagan, and Armando Solar-Lezama. PLAS 2013. [Paper: pdf | BibTex]
- A Language for Automatically Enforcing Privacy Policies, Jean Yang, Kuat Yessenov, and Armando Solar-Lezama. POPL 2012. [Paper: pdf | Slides: pptx pdf | Talk: mp4 stream | BibTex]
- Secure Distributed Programming with Value-Dependent Types, Nikhil Swamy, Juan Chen, Cédric Fournet, Pierre-Yves Strub, Karthikeyan Bharagavan, and Jean Yang. ICFP 2011. [Paper: pdf | BibTeX]
- Safe to the Last Instruction: Automated Verification of a Type-Safe Operating System, Jean Yang and Chris Hawblitzel. CACM Research Highlight. Communications of the ACM, September 2010. [Full text: html pdf | Technical Perspective: html pdf | [BibTeX]
- Safe to the Last Instruction: Automated Verification of a Type-Safe Operating System, Jean Yang and Chris Hawblitzel. PLDI 2010. Best Paper Award.
[Paper: pdf |
Slides: pptx pdf |
related video |
I have spoken about the Jeeves programming language at the following universities and companies: Harvard University (Dec. 2011), Northeastern University (Dec. 2011), New York University (April 2011), Google New York (July 2011), Facebook Menlo Park (March 2012), Google Mountain View (April 2012), UC Berkeley (April 2012), Boston University (April 2012), Brown University (June 2012), Tufts University (Colloquium, Dec. 2012), and Microsoft Research Cambridge (Oct. 2013).
Awards and Honors.
- Levine Graduate Fellowship, 2014-2015.
- 10 for 2013 Cloud Trailblazers, Gigaom Structure Conference, 2013. [article | video]
- Facebook Fellowship, 2012-2013. [fellow profile]
- Best Paper Award, Programming Language Design and Implementation (PLDI), 2010.
- Graduate Research Fellowship, National Science Foundation, 2008-2011.
- "A Better Way To Protect Privacy? Take The Programmer Out Of The Equation." Jessica Leber, Fast CoExist, March 7, 2014. [article]
- "Out in the Open: A New Programming Language With Built-In Privacy Protocols." Klint Finley, Wired, March 3, 2014. [article]
- "Want to build privacy into your apps? Check out Jeeves, now available in Python." Barb Darrow, Gigaom, February 11, 2014. [article]
- "New Programming Language Removes Human Error from Privacy Equation." CSAIL, MIT Technology Review, February 10, 2014. [article]
- "Cloud Trailblazers: 10 for 2013. Mission Possible? Jean Yang." Barb Darrow, Gigaom, May 28, 2013. [article]
- "What your online friends reveal about where you are." Jacob Aron, New Scientist, January 25, 2012. [article]
I spend a fair bit of time thinking about how to help people understand how to use and evaluate their tools. In addition to serving as a Teaching Assistant for introductory programming, theory, and program analysis courses, I have designed and taught the following short courses:
- Introduction to C Memory Management and C++ Object-Oriented Programming (IAP 2010)
- So You've Always Wanted to Learn Haskell? (IAP 2010)
- "C is Manly, Python is for 'n00bs': How False Stereotypes Turn Into Technical 'Truths,'" Model View Culture, January 20, 2014, with Ari Rabkin. [article]
- "MIT Computer Scientists Demonstrate the Hard Way that Gender Still Matters," Wired, December 19, 2014, with Elena Glassman and Neha Narula as a follow-up to our Reddit Ask Me Anything session. [article]
- "I Worked Without Email for 10 Days, Survived, and Even Learned Something," Newsweek via The Daily Muse, September 16, 2014. [Newsweek | Daily Muse]
- "Init. Women, Hip-Hop, and Self-Teaching: The New Diversity in Computing," as feature editor for ACM XRDS's "Diversity in Computer Science" issue, Summer 2014. [Init | issue]
- "First Person / The power of girls," Pittsburgh Post-Gazette, May 31, 2014. [article]
- "Only Woman on the Team? 4 Communication Tips You Need to Know," Forbes, March 26, 2014. Originally appeared on The Daily Muse, March 17, 2014. [Forbes | Daily Muse]
- A Brief History of Programming, Boston Girl Geek Dinner, December 2014. [slides]
- An Axiomatic Basis for Computer Programming, Papers We Love NYC, November 2014. [event | video | slides]
- Challenging Technical Privilege: How Race and Gender Matter, MIT, October 2014. [event | video]
- Panel: Graduate School 101, Scientista Symposium, MIT, April 2013. [event]
- Panel: How I Got There, Women in Advanced Computing Summit, San Jose, CA, June 2013. [event | video]
Profiles and Interviews.
- On Reddit's Upvoted podcast talking about computer science and women in STEM, February 2015. (Chosen as one of the A.V. Club's best podcasts of the week.) [podcast]
- On the Gigaom Structure podcast talking about internet misogyny and programming for privacy, January 2015. [article+audio]
- On my early education and advice for girls interested in STEM in an interview for my middle/high school's newspaper Ellisian Times, March 2014. [article]
- On my path to computer science in @julialindau's nicely illustrated profile, March 2013. [blog post]
- On graduate school in computer science in Lan Li's short documentary film rocks, bands, logic, fall 2011. [video]
Relevant Activities and Links.
In spring 2010, I started the annual MIT Programming Languages Offsite Meeting for exchanging ideas among MIT research groups in programming languages, software engineering, and human-computer interaction.
In fall 2009, I co-founded Graduate Women at MIT for the promoting the personal and professional development of graduate women. I also created the Positivity@MIT project for creating a more positive workplace environment.
As of fall 2013, I have been co-directing NeuWrite Boston, a collaborative working group for scientists and writers, with Amanda Gefter. Our goal is to improve and innovate the state of science communication.
I also have a couple of satirical photo blogs. My brogramming project examines the "brogrammer" trope in tech culture and also society's image of the programmer. My Strong Reject meme satirizes the human aspects of the scientific reviewing process. There is also Haskell Ryan Gosling, an exercise in discovering how much Haskell can be taught through Ryan Gosling.
Considering Graduate School?
I have compiled the following advice on applying for a Ph.D. in computer science:
- Deciding to Apply
- Standardized Tests
- School Visits
- Some notes on picking grad schools/advisors
- FAQ: Applying to Graduate School for Computer Science
You may also be interested in these blog posts I have written: