Foundations for Bidirectional Programming
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
The view update problem for XML
Proceedings of the 2010 EDBT/ICDT Workshops
Object views: fine-grained sharing in browsers
Proceedings of the 19th international conference on World wide web
Matching lenses: alignment and view update
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
XML materialized views and schema evolution in VIREX
Information Sciences: an International Journal
Gradual refinement: blending pattern matching with data abstraction
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
View update translation for XML
Proceedings of the 14th International Conference on Database Theory
Characterization of optimal complements of database views defined by projection
SDKB'10 Proceedings of the 4th international conference on Semantics in data and knowledge bases
Incremental updates for efficient bidirectional transformations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Linguistic foundations for bidirectional transformations: invited tutorial
PODS '12 Proceedings of the 31st symposium on Principles of Database Systems
Three complementary approaches to bidirectional programming
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
HyXAC: a hybrid approach for XML access control
Proceedings of the 18th ACM symposium on Access control models and technologies
Science of Computer Programming
Semantic bidirectionalization revisited
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.01 |
Security views are a flexible and effective mechanism for controlling access to confidential information.Rather than allowing untrusted users to access source data directly, they are instead provided with are restricted view, from which all confidential information has been removed.The program that generates the view effectively embodies a confidentiality policy for the underlying source data. However, this approach has a significant drawback: it prevents users from updating the data in the view.To address the "view update problem" in general, a number of bidirectional languages have been proposed. Programs in these languages---often called lenses---can be run in two directions: read from left to right, they map sources to views; from right to left,they map updated views back to updated sources. However, existing bidirectional languages do not deal adequately with security.In particular, they do not provide a way to ensure the integrity of source data as it is manipulated by untrusted users of the view.We propose a novel framework of secure lenses that addresses these shortcomings. We enrich the types of basic lenses with equivalence relations capturing notions of confidentiality and integrity, and formulate the essential security conditions as non-interference properties. We then instantiate this framework in the domain of string transformations, developing syntax for bidirectional string combinators with security-annotated regular expressions as their types.