Kaiyao Ke

Kaiyao Ke

Home Institution
The University of Illinois at Urbana-Champaign

Year Participated

Year in School

REU Faculty Mentor
Darko Marinov

Research Area Interest
Programming Languages, Formal Methods, and Software Engineering

Project Title
Software Testing

Biography & Research Abstract


Our project revolves around tools to discover and fix flaky tests (unit tests that may pass or fail non-deterministically) in Maven projects. A flaky tests can be implementation-dependent (e.g. makes an order-specific assertion on objects produced by functions that may have uncertain orders, like getDeclaredFields()), order-dependent (pass/fail depending on execution order), non-deterministic (passes or fails randomly), etc. Our work includes opening pull requests to large-scale open source projects with fixes to their flaky tests, testing debugging tools on different projects in different Java Virtual Machines, implementing and improving softwares to detect & auto-fix flaky tests, and collecting & analyzing data about different types of flaky tests.


I am a senior majoring in Mathematics & Computer Science. I plan to graduate this summer. As an undergraduate, I participated in several research activities, including discovering & analyzing & fixing flaky Java unit tests (led by Prof. Marinov), collecting data and building a python data science console (led by Prof. Caesar) and analyzing behaviors of zeros of electrical fields (led by Prof. J. Rosenblatt). I was also a course assistant for CS 374, Introduction to Algorithms / Models of Computations. My interest in computer science is mainly about software testing, algorithm designing, numerical methods and parallel computing. I am fluent with C, C++, Java and Python. I also know the basics of Haskell and Matlab.