Principles of Mobile Application Development and Analysis

More Information

UBC Calendar

Course Page

Credits

EECE 571J

Overview

For several years now, mobile devices bypass desktops in sales: just walk into a restaurant, bar or a shopping mall and see how many individuals are holding a mobile device. The number of mobile application developers also bypasses the number of desktop developer worldwide. To better understand the mobile ecosystem, this course will look at topics specific to mobile application development and management, such as mobile application security, privacy, and energy-efficiency. Students will learn fundamentals and specifics of mobile application development and how it differs from the development of desktop applications. Students will also learn fundamentals of program analysis and how to apply analysis techniques for evaluating and vetting mobile applications developed by a third-party, e.g., those submitted to application stores.

This is a seminar-style course. Each student will read, summarize, and present several scientific papers, as well as propose, implement, and present their own original project. As such, the course will also focus on polishing the students’ research, development, communication, and technical presentation skills.

Learning Objectives

By the end of the course, students will learn: - mobile application development paradigms; - program analysis paradigms; - specifics of mobile development, such as mobile application security, privacy and energy-efficiency; - application of analysis techniques for evaluating third-party mobile applications, e.g., w.r.t. security, privacy, and energy-efficiency; - efficient technical communication and presentation skills. Prerequisites This course does not have formal prerequisites. However, previous programming experience, specifically in Java, C++, Swift, or Objective-C, is highly desired.

Topics and Schedule

Week Topic Project Deadlines
1

Introduction; mobile application development,

Android development principles
[instructor]

   
2-3 Software analysis principles: static and dynamic program analysis, symbolic execution, model checking
[instructor]
Finalize groups by the beginning of class W3
4-5 Privacy
[paper presentations by students]
Project proposal are due by the beginning of class W5
6 Project proposal presentations
[students]
 
7-8 Security
[paper presentations by students]
 
9-10 Energy-efficiency
[paper presentations by students]
First project report is due by the beginning of class W9
11 (open to topics of interest, e.g., mobile application testing)  
12-13 Workshop: project presentations and demos
[students]
Final project report is due by the beginning of class W13; demos and presentations as scheduled

Reading Assignments
For weeks 4, 5, 7-11, students will read the assigned research papers (two papers each week). Each student will submit a one-page summary of each paper that describes (a) the main idea of the paper, (b) paper strengths, and (c) paper weaknesses and suggestions for improvement.
Paper Presentations
Each week, a student will present one of the assigned research papers to the class (two students each week). The student should summarize the paper, discuss its strengths and weaknesses, and lead the discussion on the paper. Depending on the number of course participants, each student will present 1-2 papers. Students do not need to submit summaries for the papers they present.
Project
The majority of evaluation for the course is based on the course project. The expectation for the project is to generate novel insights relevant to the mobile application ecosystem. That can include novel mobile application development paradigms, novel application analysis techniques, discovery of previously unknown vulnerabilities in mobile applications, collection of statistical data on existing vulnerabilities and their impact on the society, or novel literature reviews.
The project will be performed by groups of 2-3 students. The scope of each group's project should match the number of students involved.
There are five deliverables for the project:

  1. Groups are formed by the beginning of class on week 3.
  2. Project proposals are due by the beginning of class on week 5. Use the reception hours to discuss your proposals in advance!
  3. The first project report is due by the beginning of class on week 9.
  4. The final project report is due by the beginning of class on week 13.
  5. Demos and presentations will be scheduled in the course workshop that will be held during the weeks 12 and 13.
Professor: 

a place of mind, The University of British Columbia

Electrical and Computer Engineering
2332 Main Mall
Vancouver, BC Canada V6T 1Z4
Tel +1.604.822.2872
Fax +1.604.822.5949
Email:

Emergency Procedures | Accessibility | Contact UBC | © Copyright 2017 The University of British Columbia