Computer Science ETDs
Publication Date
7-1-2016
Abstract
Modern Java application development makes use of metaprogramming to offset and reduce application boilerplate. Unfortunately, metaprogramming techniques typically require a relatively high run-time cost, particularly at application startup. Therefore, environments with limited resources or without the luxury of a warm-up period, often lack metaprogramming as an option. This is precisely the case with applications written for Google Android. Android applications run on low resource mobile hardware and lack an offline startup period. Therefore, Android applications often suffer from a high amount of boilerplate. Fortunately, there is an alternative to the traditional metaprogramming approach. In this thesis, we examine the approach of a metaprogramming tool named Transfuse. Transfuse targets boilerplate reduction within the constraints prescribed by the Android environment. This is accomplished through compile-time analysis and code generation. This approach is analyzed from both boilerplate reduction and run-time performance perspectives.
Language
English
Keywords
Dependency Injection, Android, Compile time, Annotation Processing, Metaprogramming, Boilerplate
Document Type
Thesis
Degree Name
Computer Science
Level of Degree
Masters
Department Name
Department of Computer Science
First Committee Member (Chair)
Moses, Melanie
Second Committee Member
Kelly, Patrick
Recommended Citation
Ericksen, John. "Transfuse: A Compile-Time Metaprogramming Solution for Reducing Boilerplate on Google's Android." (2016). https://digitalrepository.unm.edu/cs_etds/76