SMALLTALK-80: the interactive programming environment
SMALLTALK-80: the interactive programming environment
Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
Efficient implementation of lattice operations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient management of transitive relationships in large data and knowledge bases
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On-line graph algorithms with SPQR-trees
Proceedings of the seventeenth international colloquium on Automata, languages and programming
Type-extension type test can be performed in constant time
ACM Transactions on Programming Languages and Systems (TOPLAS)
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Eiffel: the language
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
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
Incremental encoding of multiple inheritance hierarchies
Proceedings of the eighth international conference on Information and knowledge management
Space and time-efficient memory layout for multiple inheritance
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Representation of an Order as Union of Interval Orders
ORDAL '94 Proceedings of the International Workshop on Orders, Algorithms, and Applications
Bit-Vector Encoding for Partially Ordered Sets
ORDAL '94 Proceedings of the International Workshop on Orders, Algorithms, and Applications
Sparse Term Encoding for Dynamic Taxonomies
ICCS '96 Proceedings of the 4th International Conference on Conceptual Structures: Knowledge Representation as Interlingua
On-Line Planarity Testing
A note on computing a maximal planar subgraph using PQ-trees
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
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
Stratified computation of skylines with partially-ordered domains
Proceedings of the 2005 ACM SIGMOD international conference on Management of data
Stack-based algorithms for pattern matching on DAGs
VLDB '05 Proceedings of the 31st international conference on Very large data bases
On the transitive closure representation and adjustable compression
Proceedings of the 2006 ACM symposium on Applied computing
Efficient distributed subtyping tests
Proceedings of the 2007 inaugural international conference on Distributed event-based systems
Vertical object layout and compression for fixed heaps
CASES '07 Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems
Efficient dynamic dispatching with type slicing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Extensible encoding of type hierarchies
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Systems and Software
A new method for generating compressed representation of transitive closure
Proceedings of the 2008 C3S2E conference
Two-dimensional bidirectional object layout
ACM Transactions on Programming Languages and Systems (TOPLAS)
Whiteoak: introducing structural typing into java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
General spanning trees and reachability query evaluation
C3S2E '09 Proceedings of the 2nd Canadian Conference on Computer Science and Software Engineering
A Hybrid Method of Indexing Multiple-Inheritance Hierarchies
ISMIS '09 Proceedings of the 18th International Symposium on Foundations of Intelligent Systems
Vertical object layout and compression for fixed heaps
Semantics and algebraic specification
Labeling scheme and structural joins for graph-structured XML data
APWeb'05 Proceedings of the 7th Asia-Pacific web conference on Web Technologies Research and Development
Subgraph join: efficient processing subgraph queries on graph-structured XML document
WAIM'05 Proceedings of the 6th international conference on Advances in Web-Age Information Management
A slice-based decision procedure for type-based partial orders
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Open and efficient type switch for C++
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Decomposing DAGs into disjoint chains
DEXA'07 Proceedings of the 18th international conference on Database and Expert Systems Applications
Generalized Hybrid Encoding of Polyhierarchical Structures
Fundamenta Informaticae - To Andrzej Skowron on His 70th Birthday
Hi-index | 0.00 |
Subtyping test, i.e., determining whether one type is a subtype of another, are a frequent operation during the execution of object-oriented programs. The challenge is in encoding the hierarchy in a small space, while simulataneously making sure that subtyping tests have efficient implmentation. We present a new scheme for encoding multiple and single inheritance hierarchies, which, in the standardized hierarchies, reduces the footprint of all previsously published schemes. The scheme is called PQ-encoding after PQ-trees, a data structure previously used in graph theory for finding the orderings that satisfy a collection of constraints. In particular, we show that in the traditional object layout model, the extra memory requirement for single inheritance hierarchies is zero. In the PQ-encoding subtyping tests are constant time, and use only two comparisons. Other than PQ-trees, PQ-encoding uses several novel optimization techniques. These techniques are applicable also in improving the performance of otehr, previously published, encoding schemes.