Android Record and Replay - COMP 396 Undergraduate Research Project Application Form

Supervisor's Name: Xue Liu

Supervisor's Email: xue.liu [at]

Supervisor's Phone:

Supervisor's Website:

Supervisor's department: Computer Science

Course number: COMP 396 (Computer Science)

Term: Winter 2013-2014

Project start date: Monday, January 6, 2014

Project end date: Friday, April 11, 2014

Project title: Android Record and Replay

Project description (50-100 words suggested): This project aims for recording the user interactions (such as typing, tapping, sliding, etc.) of an Android device and replaying these interactions to similar Android devices. During this project, the student will co-work with the supervisor to understand the workflows of Android interactions, design methods to intercept these interactions, implement the design with Java/Python programming languages and assess the implementation with real devices.

Prerequisite: 1 term completed at McGill + CGPA of 3.0 or higher; or permission of instructor.

Grading scheme (The final report must be worth at least 50% of final grade):

  1. Result demo (50%): a. recording the interactions 20%; b. replaying the nteractions (including tapping, typing, sliding, etc.) 30%.
  2. A final report (50%): a. background research about how user interact with the device (10%); b. design of the interception method (10%); c. implementation (with source code) (20%) d. accuracy and other performance measurement (10%).

Other project information: The student needs to get familiar with basic Android programming tools  (Eclipse, ADT, monkey runner, emulator, etc.).

This is the plan for this project:

  1. Get Android, Eclipse, python installed and try the "systrace" tool in "DDMS" of Android in Eclipse.
  2. Record Android system log (logcat). Every Android device runs a default system-wise logging program. Connect the device via USB with a PC where the recording program runs. The first goal is to make the recording program communicate with this logging program, and retrieves its log.
  3. Parse the log obtained in last step along with the systrace log. The systrace log, once obtained, is stored as a web page. Design proper interfaces to query the log (e.g. search for events within a particular time span).
  4. Record and replay the user interactions with an Android device. The program will start in the recording mode. Combined with the log, the recorded data should be represented in a human readable manner.
  5. Design the demo and show the final results. Design the demo in a self-explanatory and user-friendly way. Make sure general audience can understand the results.

Project status: This project is open to applicant.

How students can apply / Next steps: Bring a printed copy of this application form and your advising transcript to me during office hours.

Ethics, safety, and training: Supervisors are responsible for the ethics and safety compliance of undergraduate students. This project involves NEITHER animal subjects, nor human subjects, nor biohazardous substances, nor radioactive materials, nor handling chemicals, nor using lasers.