I got my bachelor's degree at Nanjing University and graduate from there in Summer 2012.
I do research in static program analysis.
My current research focus on precise, scalable and adaptive methods for doing pointer analysis so that the data dependencies in the analyzed program can be better explored. This will enable us perform many interesting client analysis (such as program optimization, bug detection and security checks, etc.) more efficiently. I am also interested in techniques from other related areas, especially programming language, architecture and operating system.
Teaching Assistant, UT CS380C Graduate Compiler, Spring 2015
Teaching Assistant, UT CS345 Programming Language, Fall 2014
Teaching Assistant, UT CS429H Computer Organization and Architecture (Honor), Spring 2013
Teaching Assistant, UT CS303E Element of Computer Programming, Fall 2012
Programming is the second most important part of my life after research. Here is a list of all the programming language I know, along with some comments.
C++ has been my "mother language" for many years. I value myself as a top-tier C++ programmer and I am still learning new stuffs in C++ almost every day, which I really enjoy.
Thanks to my C++ skills I am also reasonable good at C.
Rust is another system-level programming language I enjoy using. Although I am still uncertain about whether their strict ownership system of memory management would work for large projects, the language itself has so many other attractive features that I might seriously consider writing projects in it when it becomes stable.
Python is almost always my first choice of scripting language whenever I want to hack up something quickly. Ruby is another language in my toolbox for the same purpose but I do not use it as much.
Despite my proficiency in system-level languages, I do write codes in functional languages a lot. Haskell and Racket are my go-to choice when I program functionally. I could also write SML codes but not as much as the other two.
Most CS students knows Java in their undergrad courses these days, and I am not an exception. I no longer program in Java recently since I found Scala a strictly better alternative as a JVM-based language.
Tunable Pointer Analysis
To be published
A lightweight parser combinator library written in C++14.