Title
Efficient type inclusion tests
Abstract
A type inclusion test determines whether one type is a subtype of another. Efficient type testing techniques exist for single subtyping, but not for languages with multiple subtyping. To date, the fast constant-time technique relies on a binary matrix encoding of the subtype relation with quadratic space requirements. In this paper, we present three new encodings of the subtype relation, the packed encoding, the bit-packed encoding and the compact encoding. These encodings have different characteristics. The bit-packed encoding delivers the best compression rates: on average 85% for real life programs. The packed encoding performs type inclusion tests in only 4 machine instructions. We present a fast algorithm for computing these encoding which runs in less than 13 milliseconds for PE and BPE, and 23 milliseconds for CE on an Alpha processor. Finally, we compare our results with other constant-time type inclusion tests on a suite of 11 large -benchmark hierarchies.
Year
DOI
Venue
1997
10.1145/263700.263730
Sigplan Notices
Keywords
Field
DocType
fast constant-time technique,efficient type inclusion test,packed encoding,multiple subtyping,fast algorithm,efficient type testing technique,subtype relation,bit-packed encoding,compact encoding,constant-time type inclusion test,type inclusion test
Space requirements,Logical matrix,Computer science,Algorithm,Quadratic equation,Theoretical computer science,Subtyping,Encoding (memory)
Conference
Volume
Issue
ISSN
32
10
0362-1340
ISBN
Citations 
PageRank 
0-89791-908-4
33
3.22
References 
Authors
14
3
Name
Order
Citations
PageRank
Jan Vitek1797.76
R. Nigel Horspool2643115.14
Andreas Krall347055.61