Scaling Faceted Execution in Racket using Languages as Libraries Approach

Date
2019
Journal Title
Journal ISSN
Volume Title
Publisher
Producer
Director
Performer
Choreographer
Costume Designer
Music
Videographer
Lighting Designer
Set Designer
Crew Member
Funder
Rehearsal Director
Concert Coordinator
Moderator
Panelist
Alternative Title
Department
Haverford College. Department of Computer Science
Type
Thesis
Original Format
Running Time
File Format
Place of Publication
Date Span
Copyright Date
Award
Language
eng
Note
Table of Contents
Terms of Use
Rights Holder
Access Restrictions
Bi-College users only
Tripod URL
Identifier
Abstract
Reasoning about information flow is essential when creating a secure system, and faceted execution is one way to ensure that data is only being accessed and modified by processes that have permission to do so. Faceted execution can be implemented in various ways, including through the use of macros. Some macro systems are more effective than others, however, due to how robust those systems are to use and the extent to which they allow their respective languages to be extended. Racket, one of the languages considered, uses a hygienic macro system, making it less prone to error than non-hygienic macro systems, and is also built using a languages as libraries approach, allowing core elements of the language itself to be modified to create new languages. This system allows faceted execution to be implemented directly into Racket, which can be advantageous compared to previous strategies used to implement faceted execution.
Description
Citation
Collections