Efficient implementation of lattice operations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-extension type test can be performed in constant time
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient handling of multiple inheritance hierarchies
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Efficient type inclusion tests
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fast and compact dispatching for dynamic object-oriented languages
Information Processing Letters
Efficient Retrieval from Hierarchies of Objects using Lattice Operations
ICCS '93 Proceedings on Conceptual Graphs for Knowledge Representation
Bit-Vector Encoding for Partially Ordered Sets
ORDAL '94 Proceedings of the International Workshop on Orders, Algorithms, and Applications
Efficient subtyping tests with PQ-encoding
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A fine-grained access control system for XML documents
ACM Transactions on Information and System Security (TISSEC)
Fast algorithm for creating space efficient dispatching tables with application to multi-dispatching
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Polychotomic Encoding: A Better Quasi-Optimal Bit-Vector Encoding of Tree Hierarchies
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
On Variance-Based Subtyping for Parametric Types
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Computational aspects of the 2-dimension of partially ordered sets
Theoretical Computer Science
Efficient subtyping tests with PQ-encoding
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)
Perfect hashing as an almost perfect subtype test
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing statically typed object-oriented programming languages
ACM Computing Surveys (CSUR)
Efficient searching in large inheritance hierarchies
DEXA'05 Proceedings of the 16th international conference on Database and Expert Systems Applications
Hi-index | 0.00 |
Type inclusion tests consist in determining whether a type is a subtype of another. An efficient implementation of type inclusion is an important feature of object oriented programming languages.A well-known method to achieve these tests is to associate to each type a subset of a set S = {1, . . . , k} such that type inclusion coincides with subset inclusion. Such an embedding of types into 2S (the lattice of all subsets of S) is called a bit-vector encoding of the type hierarchy. These encodings are known for several interesting features. Bit-vector encodings are perfectly appropriate for hierarchies with single subtyping as well as hierarchies with multiple subtyping. Subset inclusion tests can be performed very efficiently.Several works have studied bit-vector encodings froma theoretical point of view ([6, 7, 10, 14, 16, 18, 19]) and froma practical point of view ([3, 8, 9, 17]), in particular in order to minimize the size of the encoding, i.e. the size of S.In this article, we present a new algorithmw hich computes bit-vector encodings for single subtyping hierarchies, also called tree hierarchies.Our algorithm is simple, it computes the bit-vector encoding very quickly and gives good results for the size of the encoding. In particular, we have significantly improved the best bounds known for the encoding sizes of some benchmarks presented in [9].