Constraining application behaviour by generating languages
Paul van der Walt

TL;DR
This paper presents a method using embedded domain-specific languages in Racket to specify, generate, and enforce operational constraints in mobile applications, enhancing security and developer control.
Contribution
Introducing a novel approach that uses embedded DSLs to generate tailored languages for constrained application development in mobile computing.
Findings
Effective resource access control demonstrated
Reusable inter-component communication layer created
Enhanced developer control and error prevention achieved
Abstract
Writing a platform for reactive applications which enforces operational constraints is difficult, and has been approached in various ways. In this experience report, we detail an approach using an embedded DSL which can be used to specify the structure and permissions of a program in a given application domain. Once the developer has specified which components an application will consist of, and which permissions each one needs, the specification itself evaluates to a new, tailored, language. The final implementation of the application is then written in this specialised environment where precisely the API calls associated with the permissions which have been granted, are made available. Our prototype platform targets the domain of mobile computing, and is implemented using Racket. It demonstrates resource access control (e.g., camera, address book, etc.) and tries to prevent leaking…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Software Engineering Research · Software Testing and Debugging Techniques
