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.
Dependency Injection, Android, Compile time, Annotation Processing, Metaprogramming, Boilerplate
Level of Degree
Department of Computer Science
First Committee Member (Chair)
Second Committee Member
Ericksen, John. "Transfuse: A Compile-Time Metaprogramming Solution for Reducing Boilerplate on Google's Android." (2016). https://digitalrepository.unm.edu/cs_etds/76