This decommissioned ERA site remains active temporarily to support our final migration steps to https://ualberta.scholaris.ca, ERA's new home. All new collections and items, including Spring 2025 theses, are at that site. For assistance, please contact erahelp@ualberta.ca.
Search
Skip to Search Results- 1Cho, Jaehyung
- 1Elkhair, Ahmed Abdalla Elbashir Mohammed
- 1Hewage, Nipuni T.
- 1Newbury, Kristen L
- 1Ochoa, Erick E
- 1Seekatz, David
-
Fall 2020
Cryptographic (crypto) Application Programming Interfaces (APIs) play an important role in application security; unfortunately crypto APIs are difficult to use, which may lead to security vulnerabilities. Prior work have looked at detecting and fixing crypto APIs misuses at development time and...
-
Fall 2024
Language features are inevitable in any programming language. Language maintainers introduce new language features and enhancements to existing features with their releases. For example, Virtual threads emerged as a preview feature with the Java 19 release under project Loom. Developers may need...
-
Bughunting on a Budget: Exploring Quality Assurance Practices and Tools for Indie Game Developers
DownloadFall 2022
The games industry is growing worldwide, eclipsing the global film industry as a premier entertainment solution. The development of a commercial game is a complex, lengthy, and costly process, and increasing amounts of resources are required to build a successful game as technology improves. To...
-
Fall 2019
Inlining strategies in JIT compilers have relied on a mixture of heuristics and frequency information to discriminate between inlining candidates. Even though nested inlining is the norm in JIT compilers, modeling inlining as a variation of the greedy knapsack algorithm provides sub-optimal...
-
Fall 2022
Static data-flow analysis is a method of reasoning about program values without executing the program. A data-flow analysis that is context-sensitive, field-sensitive, flow-sensitive, and alias-aware can precisely and soundly answer points-to queries (e.g. what heap objects can variable v...
-
Fall 2023
Swift is an open-source programming language and Apple’s recommended choice for app development. Given the global widespread use of Apple devices, the ability to analyze Swift programs has significant impact on millions of users. Although static analysis frameworks exist for various computing...
-
Fall 2021
Elkhair, Ahmed Abdalla Elbashir Mohammed
Equivalence check of two programs (or two versions of a program) is the problem of deciding if the two programs produce the same values as output for the same input. Symbolic execution is a program analysis technique that executes the programs under analysis using symbolic values. Several...