- International Fees
International fees are typically 3.12 times the domestic tuition. Exact cost will be calculated upon completion of registration.
Course Overview
This course teaches techniques to assess and assure robustness and trustworthiness of mobile applications. Testbeds composed of tools available through IDEs (Integrated development Environments) such as Android Studio as well as 3rd party are used for reliability, stress and security testing of a mobile application. Anti-patterns that can cause failures in mobile applications e.g. thread safety and memory leaks etc. are studied. Strategies to ensure correctness and integrity of data in local storage, during its processing and transport are implemented. Architectures that ensure fault-tolerance of critical functionality and high availability of critical data are incorporated in the mobile application. Causes of high battery drain in mobile apps are identified and corrective measures are experimented with. Security solutions available in network protocol stack to address privacy, authentication, authorization, message tempering and replay are incorporated in the mobile application. Cryptography libraries and access control mechanisms available on mobile platforms are utilized to develop custom solutions to address some of the identified security vulnerabilities related to mobile applications.
Prerequisite(s)
- 60% in COMP 8031
Credits
3.0
- Not offered this term
- This course is not offered this term. Please check back next term or subscribe to receive notifications of future course offerings and other opportunities to learn more about this course and related programs.
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Model to predict reliability of a mobile application.
- Setup testbeds to stress test a mobile application and assess its availability and recoverability.
- Setup testbeds to test a mobile application for security vulnerabilities.
- Conduct safety analysis of a mobile application.
- Implement and evaluate solutions that ensure correctness and integrity of data in mobile applications.
- Implement and evaluate solutions that prevent data loss during its transfer or processing.
- Incorporate high availability architectures in mobile applications to ensure that critical functionality, data and sensory information is available during failures.
- Use tools to monitor battery and incorporate strategies to minimize battery drain.
- Leverage security solutions available through network protocol stack in the mobile application to prevent eavesdropping, masquerading, message tempering and replay attacks during its access to resources in the network.
- Implement custom solutions to address security vulnerabilities in mobile applications utilizing cryptographic libraries and access control mechanisms available on mobile platforms.
Effective as of Fall 2023
Related Programs
Robust and Trustworthy Mobile Applications (COMP 8531) is offered as a part of the following programs:
- Indicates programs accepting international students.
- Indicates programs with a co-op option.
School of Computing and Academic Studies
- Applied Computer Science (Human Computer Interface Option)
Bachelor of Science Part-time
- Applied Computer Science (Network Security Administration Option)
Bachelor of Science Part-time
- Applied Computer Science (Wireless and Mobile Applications Development Option)
Bachelor of Science Part-time
Programs and courses are subject to change without notice.