A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Programming Logic for Sequential Java
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
FoSSaCS '99 Proceedings of the Second International Conference on Foundations of Software Science and Computation Structure, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Extending FeatherTrait Java with Interfaces
Theoretical Computer Science
Separation Logic for Multiple Inheritance
Electronic Notes in Theoretical Computer Science (ENTCS)
Verification of Sequential and Concurrent Programs
Verification of Sequential and Concurrent Programs
Implementing software product lines using traits
Proceedings of the 2010 ACM Symposium on Applied Computing
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
A prototypical Java-like language with records and traits
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Reasoning about multiple related abstractions with MultiStar
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Incremental reasoning with lazy behavioral subtyping for multiple inheritance
Science of Computer Programming
Chai: traits for Java-like languages
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
A liskov principle for delta-oriented programming
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
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
Hi-index | 0.00 |
Traits have been proposed as a more flexible mechanism for code structuring in object-oriented programming than class inheritance, for achieving fine-grained code reuse. A trait originally developed for one purpose can be modified and reused in a completely different context. Formalizations of traits have been extensively studied, and implementations of traits have started to appear in programming languages. However, work on formally establishing properties of trait-based programs has so far mostly concentrated on type systems. This paper proposes the first deductive proof system for a trait-based object-oriented language. If a specification for a trait can be given a priori, covering all actual usage of that trait, our proof system is modular as each trait is analyzed only once. In order to reflect the flexible reuse potential of traits, our proof system additionally allows new specifications to be added to a trait in an incremental way which does not violate established proofs. We formalize and show the soundness of the proof system.