Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A decentralized model for information flow control
Proceedings of the sixteenth ACM symposium on Operating systems principles
JFlow: practical mostly-static information flow control
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A sound type system for secure flow analysis
Journal of Computer Security
Certification of programs for secure information flow
Communications of the ACM
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Information flow inference for ML
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Secure Information Flow and CPS
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Secure Information Flow and Pointer Confinement in a Java-like Language
CSFW '02 Proceedings of the 15th IEEE workshop on Computer Security Foundations
Lenient Array Operations for Practical Secure Information Flow
CSFW '04 Proceedings of the 17th IEEE workshop on Computer Security Foundations
Verifiable annotations for embedded java environments
Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems
Data Flow Analysis as a General Concept for the Transport of Verifiable Program Annotations
Electronic Notes in Theoretical Computer Science (ENTCS)
Secure web applications via automatic partitioning
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Fable: A Language for Enforcing User-defined Security Policies
SP '08 Proceedings of the 2008 IEEE Symposium on Security and Privacy
Slim VM: optimistic partial program loading for connected embedded Java virtual machines
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Staged information flow for javascript
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Efficient purely-dynamic information flow analysis
Proceedings of the ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security
Fabric: a platform for secure distributed computation and storage
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Verifying data flow optimizations for just-in-time compilation
Verifying data flow optimizations for just-in-time compilation
A certified lightweight non-interference java bytecode verifier
ESOP'07 Proceedings of the 16th European conference on Programming
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Hi-index | 0.00 |
Mobile application platforms like cell phones are ubiquitous today. Even on limited devices, users expect well-performing applications that also respect the privacy of the user's stored data, such as messages, addresses and calendar items. Existing techniques, however, do not provide an adequate solution: Dynamic algorithms incur a significant space and time overhead. Static approaches help a developer in creating secure programs, but previous work requires a whole-program verification. This paper proposes a novel intermediate representation that is designed to be easily analyzed and verified by clients as well as support incremental verification. The IR can be verified with a single-pass, linear time algorithm. The resulting reduction of memory requirements is particularly important for limited mobile devices. Metadata, including security properties, can be reliably transmitted through annotatable type systems, as demonstrated by the adoption of a practical security-enhanced programming language as an input for our intermediate representation. A simplified imperative language with incremental loading is formally proved safe as a foundation for the practical implementation.