Tianyi Zhang

Ph.D. Candidate

Department of Computer Science

University of California, Los Angeles

Office: Engineering VI, Room 486

E-mail: tianyi.zhang@cs.ucla.edu

I am currently a Ph.D. candidate in the Programming Language and Software Engineering (PLSE) group at University of California, Los Angeles. My advisor is Professor Miryung Kim. Before joining UCLA, I was a longhorn at the University of Texas at Austin. I received my bachelor's degree in Information Security from Huazhong University of Science and Technology (HUST).


My research interests reside primarily in software engineering, with a particular focus on code reuse and software evolution. My interests stem from the strong belief that software can be evolved efficiently with the guidance from both automated tools and human expertise.

The goal of my research is to give software the self-learning capability by leveraging the inherent similarity and repetitiveness embedded in large software systems, just like how machine learning leverages the repetitiveness in massive data to guide complex tasks. My work on interactive code review summarizes similar program edits and detects anomalous edits when updating similar code fragments, so called clones. My work on automated test reuse and differential testing transplants tests between similar code and examines their behavioral consistency via fine-grained differential testing. Now I am working on techniques to visualize and assess code examples on GitHub and Stack Overflow.


  • [Dec. 2017] Our paper on visualizing API usage examples at scale was accepted to CHI 2018!
  • [Dec. 2017] Our paper on the reliability of Stack Overflow examples was accepted to ICSE 2018!
  • [Dec. 2017] Huawei purchased the software usage rights of Critics (published in ICSE 2015).
  • [Jul. 2017] I built a command line tool, BibMerge to remove duplicates in bib files and also update the corresponding references in tex files. Feel free to grab it if you also have trouble with merging bib files.
  • [Jul. 2017] I received the 2017-2018 UCLA Dissertation Year Fellowship.
  • [Apr. 2017] I received the 2017-2018 Google Outstanding Graduate Student Research Award.
  • [Jan. 2017] Our test reuse tool and dataset are now publicly available here.
  • [Jan. 2017] Our work about test reuse was presented at the Dagstuhl Seminar!
  • [Dec. 2016] Our paper on test reuse and differential testing was accepted to ICSE 2017!
  • [Sept. 2016] I have passed the Oral Qualifying Exam (OQE) and now advanced to candidacy!


Visualizing API Usage Examples at Scale (Acceptance Rate: 25.7%)
Elena L. Glassman*, Tianyi Zhang*, Björn Hartmann, Miryung Kim [PDF]
* The two lead authors contributed equally to the work as part of an equal collaboration between both institutions.
Are Code Examples on an Online Q&A Forum Reliable? A Study of API Misuse on Stack Overflow (Acceptance Rate: 20.9%)
Tianyi Zhang, Ganesha Upadhyaya, Anastasia Reinhardt, Hridesh Rajan, Miryung Kim [PDF]
Automated Transplantation and Differential Testing for Clones (Acceptance Rate: 16.4%)
Tianyi Zhang, Miryung Kim [PDF][demo][tool]
Interactive Code Review for Systematic Changes (Acceptance Rate: 18.5%)
Tianyi Zhang, Myoungkyu Song, Joseph Pinedo, Miryung Kim [PDF][slides]
Critics: An Interactive Code Review Tool for Searching and Inspecting Systematic Changes
Tianyi Zhang, Myoungkyu Song, Miryung Kim [PDF][demo][tool]


  • Research Intern, Microsoft Research, 06/2015-09/2015, interactive code review for tangled logical edits with Mike Barnett, Christian Bird, and Shuvendu Lahiri
  • Quality Engineer Intern, Salesforce.com, 05/2014-08/2014, APIForce: Interactively Documenting and Testing REST APIs with Akash Shah, Priya Sethuraman, Prabhjot Singh
  • SDE Intern, Microsoft, 07/2012-09/2012
  • Teaching Assistant, UCLA CS230 Advanced Software Engineering Spring 2017, UCLA CS130 Software Engineering Fall 2015, Fall 2016, UT Austin EE461L Software Engineering and Design Laboratory Fall 2013 (2013 Best TA Award)
  • Lead Volunteer at ICSE 2016, May 18-20, 2016

Presentations and Posters

  • Automated Transplantation and Differential Testing for Clones. 39th International Conference on Software Engineering, May 20-28, 2017, Buenos Aires, Argentina [slides][poster]
  • Automated Test Reuse via Code Transplantation. Dagstuhl Seminar in Automated Program Repair, Germany, Jan 9-13, 2017 [slides][seminar report]
  • Towards Differential Testing of Similar Repairs. Joint Demonstration of Cooperative Repair for Cyber Physical System Resiliency, sponsored by Air Force Research Laboratory, University of Virginia, Aug 9, 2016 [slides]
  • Critics: An Interactive Code Review Tool for Searching and Inspecting Systematic Changes. 2015 UCLA Tech Forum, University of California, Los Angeles, Jan 16, 2015 [poster]
  • Interactive Code Review for Systematic Edits. SoCal Programming Languages and Systems Workshop, University of California, San Diego, Dec 6, 2014 [slides]

Advice/Userful Links

Students to Conference by David Notkin

Patterns for writing good rebuttals by Andreas Zeller

7 Tips for Attending a Conference Alone (And Having a Good Time) by Yuanyuan Zhou

Things I Keep Repeating About Writing by Claire Le Goues