An indolent researcher, enthusiastic tutor, tech entrepreneur.

I am interested in system software (compiler, vm, profiler, checker, debugger, instrumentation), operating systems and big-data systems. Ph.D. from McGill University and bachelor from Shanghai Jiao Tong University.

I am lucky to be influenced by numerous teachers and researchers in early days, by their innovation, pursuit and attitude. And I believe it is an honour as well as obligation to pass on the knowledge, perseverance and their stories. You can occasionally find me at 5406, School of Software building at SJTU.

Some extra materials for pubs

S&P'15
Effective Real-time Android Application Auditing. The 36th IEEE Symposium on Security and Privacy (IEEE S&P'15)

FAST '15
A Tale of Two Erasure Codes in HDFS. The 13th USENIX Conference on File and Storage Technologies (FAST '15)

ICAC'13
Performance Inconsistency in Large Scale Data Processing Clusters. The 10th International Conference on Autonomic Computing (short paper, ICAC'13)

Secure the Apps in Your Pocket

AppAudit: Detecting Data-leaking Mobile Apps

We design AppAudit, a program analysis tool that checks if an Android application leaks sensitive personal data. AppAudit has three use cases:

  • help mobile users to avoid installing data-leaking apps;
  • assist app market operators to filter out zero-day privacy threats;
  • prevent app developers from accidentally using data-leaking libraries.
The overall precision for detecting malware compared with mainstream antivirus and research projects

AppBox: Sandboxing Apps

Ever tried the privacy browsing mode of web browers? Now AppBox extends this to all Android apps. AppBox is a universal sandbox for Android apps. Apps that enter AppBox appear like newly installed and have limited accesses to system resources and user data. When app exits from the AppBox, all traces and data produced are scrubed, like it never happened.

Program Mobile Applications Correctly and Easily

Hey, Your App is Draining Battery for Leaking Memory

When programming mobile applications, memory leaks would be a common but tiny mistake, since they never get noticed unless the program crashes due to memory outage. However, we surprisingly find that memory leaks lead to more on mobile devices. When this happens, the system has to kick out normal apps to accommodate leaking ones. This causes some apps to be loaded repeatedly, slowing down the device and drains the battery. Our study confirms that this is not rare among real mobile applications.


MonkeyHelper: Record, Replay and Understand User Interactions

We provide a tool-chain written in Python to capture, replay, manipulate and analyze the live user interactions with a smartphone. Our record-and-replay capability is universal for all Android boxes. The manipulation and analyses can be highly customized with Python code. See a video showing record-and-replay AngryBirds.

Storage Systems Meet Big Data

A Tale of Two Erasure Codes in HDFS

Enterprises continue to invest more and more disks to store growing data. Now petabyte-scale data poses a great challenge on the maintenance cost (for replacing dead disks), which largely confines the scalability of big data systems. Erasure coding is the technique that can store the same amount of data with 50% fewer disks, but at the cost of greater costs to recover unavailable data. In this paper, we explore novel erasure coding inventions and system techniques to tame the challenging recovery cost.


Optimizing Enterprise and Campus VM Deployments

Nowadays, enterprises and campuses virtualize their infrastructure to cut down capital cost and enable better IT management. Due to a mix of workloads, these VM deployments usually encounter IO spikes during some periods. In this work, we aim to understand IO patterns of these deployment and propose an automatic tool to reconfigure storage to better serve VMs.

Givs: Controlling Mobile Devices with Gestures in Vehicles

The small screen and touchscreen interactions of mobile devices could be uncomfortable for users in a moving vehicle. To overcome this limitation, we propose a rich set of gestures for performing fine-grained interacting with mobile device in a vehicle environment. Our system carefully picks gestures to allow easy control of vehicle applications (such as navigation, audio playback and phone call). Our algorithms overcome various road conditions that affect gesture recognition accuracy. This is an on-going project and we have a simple demo here:

SLIM: An STL-like library for mobile-cloud programming

Programming a mobile-cloud application is hard considering the efforts of synchronizing data, managing different views, consistency and performance. We provide SLIM, a library that provide STL-like interfaces while distributing data across the device and the cloud. SLIM reduces the programming efforts by providing interfaces familiar to developers along with various pre-defined policies that address common trade-offs. This project is an intern project with Microsoft Research Asia and has been published on Asia-Pacific System Symposium 2011.

CuteStrike: A Cute Multi-player 2D Shooting Game

CounterStrike is a classic first-person shooting game. We made it cute! You will see cute buns moving around in a 2D dust2 map! CuteStrike allows you to challenge AIs we design or play with real people over network.

dumpvb6: A Practical VB6 Decompiler

This is a geeky toy I made when I was 14. You give me a VB6 program and I give you the source code. VB6 stands for Microsoft's Visual Basic 6, a language that produces GUI programs in minutes! VB6 is straightforward and easy to learn and was once the most popular and successful language for GUI programs. Dumpvb6 did a hacky job by present the source code of a compiled VB6 program, which exposes all its secrets. Due to potential copyright concern, this project is only for academic purpose and not intended to be released.
Code snippet of VB6

I was born in Shanghai, the economy center of China. In 1843, the Treaty of Nanking opens this city to the world, which once comprises the distinct areas of settlement for British, French, American and European. Thus Shanghai develops and maintains a unique fusion of cultures from traditional China (Wu) and various European countries. As a treaty port, it survives the great destruction of WW2. The citizens value peace, diversity and quality of life.

After twenty-two years in this city, I moved to Montréal for my doctoral degree. The English-French city has indeed impressed me with its wonderful maisons and unbelievable cold winter as well as accidental fall of snow flake from the roof, kidding. Ironically, I grow awareness of Chinese traditions and values that are being replaced by aggressive modernization, by looking at Montreal.

I have interests in many things, and am willing to waste time on them. Sneak out for a late night movie, a decent meal, cuisine research, a water spa, a visit to antique and small art galleries or an obsessed afternoon of browsing Swiss watch catalog.

Here are some great works and people that inspired me, and some quotes I would like to share:
The Old Lighthouse, Shanghai Bund, not a restaurant nor a cheap exotic wine shop

The simulacrum is never that which conceals the truth — it is the truth which conceals that there is none. The simulacrum is true.

Ecclesiastes, as quoted in Simulacra and Simulation

真的,这就是春天呵,狂跳的心搅乱水中的浮云。

北岛, 真的

Did you ever know an officer to handcuff a prisoner to his right hand?

O. Henry, Hearts and Hands

Where is the boundary between human and machine when the differences between the two become more philosophical than physical?

押井 守, Ghost in the shell

Gordon: I'm sorry, Harvey. For everything. But, please. Please don't hurt him.

Gary Oldman, cast in The Dark Knight

I’ve found the light of your voice; it has always been with me