An extension of system F with subtyping
Information and Computation - Special conference issue: international conference on theoretical aspects of computer software
A syntactic approach to type soundness
Information and Computation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Javalight is type-safe—definitely
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A little Java, a few patterns
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compatible genericity with run-time types for the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On the relationship between classes, objects, and data abstraction
Theory and Practice of Object Systems - Third workshop on foundations of object-oriented languages (FOOL 3)
Is the Java type system sound?
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Modular type-based reverse engineering of parameterized types in Java code
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parametric polymorphism in Java: an approach to translation based on reflective features
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Types and programming languages
Types and programming languages
A Theory of Objects
An Imperative, First-Order Calculus with Object Extension
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
True Modules for Java-like Languages
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Modular typechecking for hierarchically extensible datatypes and functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Hoare Logic for NanoJava: Auxiliary Variables, Side Effects, and Virtual Methods Revisited
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Secure Information Flow and Pointer Confinement in a Java-like Language
CSFW '02 Proceedings of the 15th IEEE workshop on Computer Security Foundations
Formal semantics and analysis of object queries
Proceedings of the 2003 ACM SIGMOD international conference on Management of data
Lightweight confinement for featherweight java
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Channel dependent types for higher-order mobile processes
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Modular typechecking for hierarchically extensible datatypes and functions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Generic ownership: practical ownership control in programming languages
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Scalable extensibility via nested inheritance
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Transparent proxies for java futures
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Science of Computer Programming - Special issue on program transformation
A simple typed intermediate language for object-oriented languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Understanding access restriction of variant parametric types and Java wildcards
Proceedings of the 2005 ACM symposium on Applied computing
Trace effects and object orientation
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Associated types and constraint propagation for mainstream object-oriented generics
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Javari: adding reference immutability to Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Formalising Java RMI with explicit code mobility
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concurrent clustered programming
CONCUR 2005 - Concurrency Theory
Ownership confinement ensures representation independence for object-oriented programs
Journal of the ACM (JACM)
A transactional object calculus
Science of Computer Programming
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A verifiable SSA program representation for aggressive compiler optimization
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
Types for safe locking: Static race detection for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Theoretical Computer Science - Formal methods for components and objects
Union types for object-oriented programming
Proceedings of the 2006 ACM symposium on Applied computing
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Variant parametric types: A flexible subtyping scheme for generics
ACM Transactions on Programming Languages and Systems (TOPLAS)
An object-oriented approach to datatype-generic programming
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Addressed term rewriting systems: application to a typed object calculus
Mathematical Structures in Computer Science
Statically scoped object adaptation with expanders
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A framework for implementing pluggable type systems
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Generic ownership for generic Java
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
What do high-level memory models mean for transactions?
Proceedings of the 2006 workshop on Memory system performance and correctness
Featherweight generic confinement
Journal of Functional Programming
A calculus for reasoning about software composition
Theoretical Computer Science - Formal methods for components and objects
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Higher order Programming in Java: Introspection, Subsumption and Extraction
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P 2004)
Typed parametric polymorphism for aspects
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
Typing for a minimal aspect language: preliminary report
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
Towards a type system for detecting never-matching pointcut compositions
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
Proceedings of the 2007 ACM symposium on Applied computing
Reifying wildcards in Java using the EGO approach
Proceedings of the 2007 ACM symposium on Applied computing
Tasks: language support for event-driven programming
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Reasoning about safety properties in a JVM-like environment
Science of Computer Programming
Scoped types and aspects for real-time Java memory management
Real-Time Systems
Encapsulating objects with confined types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object and reference immutability using Java generics
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Lightweight scalable components
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Featherweight Java with multi-methods
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Type qualifier inference for java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Lost in translation: formalizing proposed extensions to c#
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
The java module system: core design and semantic definition
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Formalising Java RMI with explicit code mobility
Theoretical Computer Science
High-level small-step operational semantics for transactions
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics of transactional memory and automatic mutual exclusion
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation logic, abstraction and inheritance
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FeatherTrait: A modest extension of Featherweight Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reasoning about aspects with common sense
Proceedings of the 7th international conference on Aspect-oriented software development
Prototyping Concurrent Systems with Agents and Artifacts: Framework and Core Calculus
Electronic Notes in Theoretical Computer Science (ENTCS)
Integrating Java and Prolog through generic methods and type inference
Proceedings of the 2008 ACM symposium on Applied computing
Extending FeatherTrait Java with Interfaces
Theoretical Computer Science
Expressive and safe static reflection with MorphJ
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Implicit ownership types for memory management
Science of Computer Programming
Genericity in Java: persistent and database systems implications
The VLDB Journal — The International Journal on Very Large Data Bases
Type safe dynamic object delegation in class-based languages
Proceedings of the 6th international symposium on Principles and practice of programming in Java
It Is Time to Mechanize Programming Language Metatheory
Verified Software: Theories, Tools, Experiments
FM '08 Proceedings of the 15th international symposium on Formal Methods
CoBoxes: Unifying Active Objects and Structured Heaps
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Session and Union Types for Object Oriented Programming
Concurrency, Graphs and Models
Separation Logic Contracts for a Java-Like Language with Fork/Join
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
A Model for Java with Wildcards
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
UpgradeJ: Incremental Typechecking for Class Upgrades
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Extensible Universes for Object-Oriented Data Models
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
On the reification of Java wildcards
Science of Computer Programming
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Feature featherweight java: a calculus for feature-oriented programming and stepwise refinement
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Expressive and modular predicate dispatch for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Types and trace effects for object orientation
Higher-Order and Symbolic Computation
Amalgamating sessions and methods in object-oriented languages with generics
Theoretical Computer Science
An Extensible Encoding of Object-oriented Data Models in hol
Journal of Automated Reasoning
Automatic Symmetry Detection for Promela
Journal of Automated Reasoning
Incremental Reasoning for Multiple Inheritance
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
Parameter reference immutability: formal definition, inference tool, and comparison
Automated Software Engineering
A type system for functional traversal-based aspects
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
Graph-based specification and simulation of featherweight Java with around advice
Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
Featherweight Java with dynamic and static overloading
Science of Computer Programming
Information and Computation
Matching ThisType to subtyping
Proceedings of the 2009 ACM symposium on Applied Computing
Symmetric encapsulated multi-methods to abstract over application structure
Proceedings of the 2009 ACM symposium on Applied Computing
Existential Quantification for Variant Ownership
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Semantics-aware trace analysis
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
A typed intermediate language for supporting interfaces
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Semantic predicate types and approximation for class-based object oriented programming
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
On subtyping, wildcards, and existential types
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
A mechanism for flexible dynamic trait replacement
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
A semantics for context-oriented programming with layers
International Workshop on Context-Oriented Programming
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Comparing universes and existential ownership types
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Towards gradual typing for generics
Proceedings for the 1st workshop on Script to Program Evolution
Type Inference by Coinductive Logic Programming
Types for Proofs and Programs
Types for Proofs and Programs
I-Java: An Extension of Java with Incomplete Objects and Object Composition
SC '09 Proceedings of the 8th International Conference on Software Composition
A Domain Specific Language for Composable Memory Transactions in Java
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Certifying concurrent programs using transactional memory
Journal of Computer Science and Technology
Coinductive Type Systems for Object-Oriented Languages
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Fine-Grained Access Control with Object-Sensitive Roles
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Featherweight Jigsaw: A Minimal Core Calculus for Modular Composition of Classes
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
EventJava: An Extension of Java for Event Correlation
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
JavaGI in the battlefield: practical experience with generalized interfaces
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Type-Checking Software Product Lines - A Formal Approach
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
JavaCOP: Declarative pluggable types for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dynamic Classes: Modular Asynchronous Evolution of Distributed Concurrent Objects
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Addressed Term Rewriting Systems: Syntax, Semantics, and Pragmatics
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards a Formal Foundation to Orchestration Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Effective and Efficient Compilation of Run-Time Generics in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
A Design for Type-Directed Programming in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
A Type and Effect System for Flexible Abstract Interpretation of Java
Electronic Notes in Theoretical Computer Science (ENTCS)
Integrating typed and untyped code in a scripting language
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
A theory of distributed aspects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
A complete guide to the future
ESOP'07 Proceedings of the 16th European conference on Programming
Immutable objects for a java-like language
ESOP'07 Proceedings of the 16th European conference on Programming
Asynchronous session types and progress for object oriented languages
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
A representation-independent behavioral semantics for object-oriented components
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
Implementing software product lines using traits
Proceedings of the 2010 ACM Symposium on Applied Computing
Bounded session types for object oriented languages
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Infering ownership types for encapsulated object-oriented program components
Program analysis and compilation, theory and practice
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Type safety for feature-oriented product lines
Automated Software Engineering
A prototypical Java-like language with records and traits
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Pure delta-oriented programming
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Mostly modular compilation of crosscutting concerns by contextual predicate dispatch
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Ownership and immutability in generic Java
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Task types for pervasive atomicity
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
simpA: An agent-oriented approach for programming concurrent applications on top of Java
Science of Computer Programming
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
JCoBox: generalizing active objects to concurrent components
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
A type system for data-centric synchronization
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Capabilities for uniqueness and borrowing
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Semantics of transactional memory and automatic mutual exclusion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Morphing: Structurally shaping a class by reflecting on others
ACM Transactions on Programming Languages and Systems (TOPLAS)
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Encoding ownership types in java
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Towards a semantic model for Java wildcards
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Strong exception-safety for Java-like languages
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Aliasing control with view-based typestate
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Pick your contexts well: understanding object-sensitivity
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
JNI light: an operational model for the core JNI
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Compositional type-checking for delta-oriented programming
Proceedings of the tenth international conference on Aspect-oriented software development
ContextFJ: a minimal core calculus for context-oriented programming
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Supporting covariant return types and generics in type relaxed weaving
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Featherweight TEX and parser correctness
SLE'10 Proceedings of the Third international conference on Software language engineering
Reconciling method overloading and dynamically typed scripting languages
Computer Languages, Systems and Structures
Core operational semantics of Proto
Proceedings of the 2011 ACM Symposium on Applied Computing
JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
ACM Transactions on Programming Languages and Systems (TOPLAS)
A distributed object-oriented language with session types
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
Incremental reasoning with lazy behavioral subtyping for multiple inheritance
Science of Computer Programming
EnerJ: approximate data types for safe and general low-power computation
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Delegation by object composition
Science of Computer Programming
Dynamic delta-oriented programming
Proceedings of the 15th International Software Product Line Conference, Volume 2
Approximation semantics and expressive predicate assignment for object-oriented programming
TLCA'11 Proceedings of the 10th international conference on Typed lambda calculi and applications
Analysis of deadlocks in object groups
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Lifted Java: a minimal calculus for translation polymorphism
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Proceedings of the 25th European conference on Object-oriented programming
Proceedings of the 25th European conference on Object-oriented programming
Ribbons: a partially shared memory programming model
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
Coinductive big-step operational semantics for type soundness of Java-like languages
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
Verifying traits: a proof system for fine-grained reuse
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
Modular specification of encapsulated object-oriented components
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
A DSL for writing type systems for Xtext languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Object reuse and behavior adaptation in Java-like languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Field access analysis for enforcing access control policies
ETRICS'06 Proceedings of the 2006 international conference on Emerging Trends in Information and Communication Security
Lightweight family polymorphism
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
DBPL'05 Proceedings of the 10th international conference on Database Programming Languages
Exact type parameterization and ThisType support
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
Types for relaxed memory models
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
Row types for delta-oriented programming
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Flexible type-safe linking of components for java-like languages
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
A safe implementation of dynamic overloading in java-like languages
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Dynamic logic with non-rigid functions: a basis for object-oriented program verification
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Java JR: fully abstract trace semantics for a core java language
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Efficiently refactoring java applications to use generic libraries
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
The essence of data access in Cω: the power is in the dot!
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
State based ownership, reentrance, and encapsulation
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Verifying a secure information flow analyzer
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Featherweight Jigsaw - Replacing inheritance by composition in Java-like languages
Information and Computation
Variance and generalized constraints for C# generics
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Session types for object-oriented languages
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Generative operational semantics for relaxed memory models
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
A universal calculus for stream processing languages
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
A calculus for boxes and traits in a java-like setting
COORDINATION'10 Proceedings of the 12th international conference on Coordination Models and Languages
Type safety of generics for the .NET common language runtime
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
ABS: a core language for abstract behavioral specification
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
Heap cloning: Enabling dynamic symbolic execution of java programs
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Type checking annotation-based product lines
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 27th Annual ACM Symposium on Applied Computing
A type system for checking specialization of packages in object-oriented programming
Proceedings of the 27th Annual ACM Symposium on Applied Computing
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Encoding Featherweight Java with assignment and immutability using the Coq proof assistant
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
Verifying backwards compatibility of object-oriented libraries using Boogie
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
Properties of Java Simple Closures
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multiple aggregate entry points for ownership types
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Pause 'n' play: formalizing asynchronous C#
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Soundness of object-oriented languages with coinductive big-step semantics
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Magda: a new language for modularity
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Higher order Programming in Java: Introspection, Subsumption and Extraction
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P 2004)
Proceedings of the 14th symposium on Principles and practice of declarative programming
A formal foundation for dynamic delta-oriented software product lines
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
A tested semantics for getters, setters, and eval in JavaScript
Proceedings of the 8th symposium on Dynamic languages
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
The Equivalence of Reduction and Translation Semantics of Java Simple Closures
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
FJMIP: a calculus for a modular object initialization
FCT'07 Proceedings of the 16th international conference on Fundamentals of Computation Theory
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Declarative object identity using relation types
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
JavaGI: generalized interfaces for java
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
A higher abstraction level using first-class inheritance relations
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
MAO: ownership and effects for more effective reasoning about aspects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Combining traits with boxes and ownership types in a Java-like setting
Science of Computer Programming
Formalising security in ubiquitous and cloud scenarios
CISIM'12 Proceedings of the 11th IFIP TC 8 international conference on Computer Information Systems and Industrial Management
Family-Based analysis of type safety for delta-oriented software product lines
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Tracking behavioral constraints during object-oriented software evolution
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Transactions on Aspect-Oriented Software Development IX
Model-Checking higher-order programs with recursive types
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
TraitRecordJ: A programming language with traits and records
Science of Computer Programming
Operational semantics of proto
Science of Computer Programming
Implementing Java-like languages in Xtext with Xsemantics
Proceedings of the 28th Annual ACM Symposium on Applied Computing
On flexible dynamic trait replacement for Java-like languages
Science of Computer Programming
Science of Computer Programming
Abstraction over implementation structure with symmetrically encapsulated multimethods
Science of Computer Programming
Inference rules for generic code migration of aspect-oriented programs
Science of Computer Programming
L: context-oriented programming with only layers
Proceedings of the 5th International Workshop on Context-Oriented Programming
Pure trait-based programming on the Java platform
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
Functional synthesis of genetic regulatory networks
Proceedings of the 1st annual workshop on Functional programming concepts in domain-specific languages
A graph-based generic type system for object-oriented programs
Frontiers of Computer Science: Selected Publications from Chinese Universities
Forsaking inheritance: supercharged delegation in DelphJ
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Scalaness/nesT: type specialized staged programming for sensor networks
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Compile-time reflection and metaprogramming for Java
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Understanding ownership types with dependent types
Aliasing in Object-Oriented Programming
Aliasing in Object-Oriented Programming
State based encapsulation for modular reasoning about behavior-preserving refactorings
Aliasing in Object-Oriented Programming
Separation logic for object-oriented programming
Aliasing in Object-Oriented Programming
Join point interfaces for safe and flexible decoupling of aspects
ACM Transactions on Software Engineering and Methodology (TOSEM)
A hybrid class- and prototype-based object model to support language-neutral structural intercession
Information and Software Technology
Semantic Types and Approximation for Featherweight Java
Theoretical Computer Science
Runtime support for type-safe and context-based behavior adaptation
Frontiers of Computer Science: Selected Publications from Chinese Universities
A Domain-Theoretic Model Of Nominally-Typed Object-Oriented Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Java SAM Typed Closures: A Sound and Complete Type Inference System for Nominal Types
Fundamenta Informaticae - Concurrency, Specification and Programming
Hi-index | 0.00 |
Several recent studies have introduced lightweight versions of Java: reduced languages in which complex features like threads and reflection are dropped to enable rigorous arguments about key properties such as type safety. We carry this process a step further, omitting almost all features of the full language (including interfaces and even assignment) to obtain a small calculus, Featherweight Java, for which rigorous proofs are not only possible but easy. Featherweight Java bears a similar relation to Java as the lambda-calculus does to languages such as ML and Haskell. It offers a similar computational "feel," providing classes, methods, fields, inheritance, and dynamic typecasts with a semantics closely following Java's. A proof of type safety for Featherweight Java thus illustrates many of the interesting features of a safety proof for the full language, while remaining pleasingly compact. The minimal syntax, typing rules, and operational semantics of Featherweight Java make it a handy tool for studying the consequences of extensions and variations. As an illustration of its utility in this regard, we extend Featherweight Java with generic classes in the style of GJ (Bracha, Odersky, Stoutamire, and Wadler) and give a detailed proof of type safety. The extended system formalizes for the first time some of the key features of GJ.