PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
A type system equivalent to flow analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theory and Practice of Object Systems - Special issue: type systems
Constrained types and their expressiveness
ACM Transactions on Programming Languages and Systems (TOPLAS)
Region-based memory management
Information and Computation
History-based access control for mobile code
CCS '98 Proceedings of the 5th ACM conference on Computer and communications security
Trace-Based Abstract Interpretation of Operational Semantics
Lisp and Symbolic Computation
Enforcing trace properties by program transformation
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for expressive security policies
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static enforcement of security with types
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
ACM Transactions on Information and System Security (TISSEC)
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Model checking security properties of control flow graphs
Journal of Computer Security
Secure calling contexts for stack inspection
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
MOPS: an infrastructure for examining security properties of software
Proceedings of the 9th ACM conference on Computer and communications security
Model-Checking LTL with Regular Valuations for Pushdown Systems
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Model Checking for Context-Free Processes
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
SAS '96 Proceedings of the Third International Symposium on Static Analysis
An effective theory of type refinements
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Policy framings for access control
WITS '05 Proceedings of the 2005 workshop on Issues in the theory of security
Enforcing Secure Service Composition
CSFW '05 Proceedings of the 18th IEEE workshop on Computer Security Foundations
Trace effects and object orientation
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Resource usage analysis for a functional language with exceptions
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A static type system for JVM access control
ACM Transactions on Programming Languages and Systems (TOPLAS)
USITS'97 Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems
Types and trace effects of higher order programs
Journal of Functional Programming
History-based access control with local policies
FOSSACS'05 Proceedings of the 8th international conference on Foundations of Software Science and Computation Structures
Type safe dynamic linking for JVM access control
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Model-Checking higher-order programs with recursive types
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Hi-index | 0.00 |
Trace effects are statically generated program abstractions, that can be model checked for verification of assertions in a temporal program logic. In this paper we develop a type and effect analysis for obtaining trace effects of Object Oriented programs in Featherweight Java. We observe that the analysis is significantly complicated by the interaction of trace behavior with inheritance and other Object Oriented features, particularly overridden methods, dynamic dispatch, and downcasting. We propose an expressive type and effect inference algorithm combining polymorphism and subtyping/subeffecting constraints to obtain a flexible trace effect analysis in this setting, and show how these techniques are applicable to Object Oriented features. We also extend the basic language model with exceptions and stack-based event contexts, and show how trace effects scale to these extensions by structural transformations.