Junfeng Yang

Associate Professor
Co-director of Software Systems Lab
Department of Computer Science
Columbia University

500 West 120 Street, 519 CSB
Mail Code 0401
New York, NY 10027

Email of Junfeng Yang

Lab: 487 CSB
Phone: (212) 939-7012
Fax: (212) 666-0140

[ News | Awards | Publications | Software | Projects]
[ People | Press | Teaching | Support ]

Picture of Junfeng Yang

My research centers on making reliable and secure systems (one-page research statement). Some of my current projects involve efficient and reliable multithreading, tools for the cloud, and operating systems support for reliability. After getting a BS in Computer Science from Tsinghua University, I earned my PhD in Computer Science at Stanford, where I created eXplode, a general, lightweight system for effectively finding storage system errors. This work has led to an OSDI best paper award, numerous bug fixes to real systems such as the Linux kernel, and a featured article in Linux Weekly news. In 2008, I worked at Microsoft Research Silicon Valley, extending eXplode to check production distributed systems. MoDist, the resultant system, is being transferred to Microsoft product groups. At Columbia University, my recent work on reliable multithreading was featured in sites such as ACM Tech News. I won the Sloan Research Fellowship and the AFOSR YIP award, both in 2012; and the NSF CAREER award in 2011.

I'm looking for a few graduate students, postdocs, and undergraduate interns. If you know how to build systems/tools, we should talk.

Columbia undergraduate and master students: the above applies to you, too. Also, take a look at some projects available for academic credits.

I'm on sabbatical this academic year co-founding a Columbia spin-off called NimbleDroid. NimbleDroid provides automated, comprehensive app performance analysis to help teams build performant apps. Its mission is to leverage research breakthroughs to automate mundane tasks in software engineering.

Select Awards

Paper drafts

(If you're interested in a paper draft but it isn't available online, please email me for a copy.)

Select Publications (Complete list...)



I'm fortunate to work or have worked with these brilliant people.

I co-advise some students in the SSL lab.

Articles and Discussions about Research

Machine unlearning: The Stack, EurekAlert, The Atlantic
Peregrine: CACM, ACM Tech News, The Register, Columbia Engineering, TG Daily, Physorg.com
MoDist: Softpedia
eXplode: Linux Weekly News
Static analysis: Linux Kernel Mailing List


Spring 2017 -- E6121: Reliable Software
Fall 2016 -- Teaching leave
Spring 2016 -- Sabbatical leave
Fall 2015 -- Sabbatical leave
Spring 2015 -- Teaching leave
Fall 2014 -- E6121: Reliable Software
Spring 2014 -- Teaching leave
Fall 2013 -- W4118: Operating Systems I
Spring 2013 -- Teaching leave
Fall 2012 -- E6121: Reliable Software
Spring 2012 -- W4118: Operating Systems I
Fall 2011 -- E6121: Reliable Software
Spring 2011 -- W4118: Operating Systems I
Fall 2010 -- E6998-1: Reliable Software
Spring 2010 -- W4118: Operating Systems I
Fall 2009 -- E6998-1: Reliable Software
Spring 2009 -- W4118: Operating Systems I
Fall 2008 -- E6998-2: How to Make Reliable Software

Support for Research