Programming frameworks are an accepted fixture in the#R##N#  object-oriented world, motivated by the need for code reuse,#R##N#  developer guidance, and restriction.  A new trend is emerging where#R##N#  frameworks require domain experts to provide declarations using a#R##N#  domain-specific language (DSL), influencing the structure and#R##N#  behaviour of the resulting application.  These mechanisms address#R##N#  concerns such as user privacy.  Although many popular open platforms#R##N#  such as Android are based on declaration-driven frameworks, current#R##N#  implementations provide ad hoc and narrow solutions to concerns#R##N#  raised by their openness to non-certified developers.  Most widely#R##N#  used frameworks fail to address serious privacy leaks, and provide#R##N#  the user with little insight into application behaviour.#R##N##R##N#  To address these shortcomings, we show that declaration-driven#R##N#  frameworks can limit privacy leaks, as well as guide developers,#R##N#  independently from the underlying programming paradigm.  To do so,#R##N#  we identify concepts that underlie declaration-driven frameworks,#R##N#  and apply them systematically to both an object-oriented language,#R##N#  Java, and a dynamic functional language, Racket.  The resulting#R##N#  programming framework generators are used to develop a prototype#R##N#  mobile application, illustrating how we mitigate a common class of#R##N#  privacy leaks.  Finally, we explore the possible design choices and#R##N#  propose development principles for developing domain-specific#R##N#  language compilers to produce frameworks, applicable across a#R##N#  spectrum of programming paradigms.
['Paul Van Der Walt', 'Charles Consel', 'Emilie Balland']
Frameworks compiled from declarations: a language-independent approach