ACM Home Page
Please provide us with feedback. Feedback
Efficient subtyping tests with PQ-encoding
Full text PdfPdf (475 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 27 ,  Issue 5  (September 2005) table of contents
Pages: 819 - 856  
Year of Publication: 2005
ISSN:0164-0925
Authors
Joseph (Yossi) Gil  Technion---Israel Institute of Technology, Haifa, Israel
Yoav Zibin  Technion---Israel Institute of Technology, Haifa, Israel
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 44,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1086642.1086643
What is a DOI?

ABSTRACT

Given a type hierarchy, a subtyping test determines whether one type is a direct or indirect descendant of another type. Such tests are a frequent operation during the execution of object-oriented programs. The implementation challenge is in a space-efficient encoding of the type hierarchy that simultaneously permits efficient subtyping tests. We present a new scheme for encoding multiple- and single-inheritance hierarchies, which, in the standard benchmark hierarchies, reduces the footprint of all previously published schemes. Our scheme is called PQ-encoding (PQE) 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 requirements for single-inheritance hierarchies is zero. In the PQE subtyping, tests are constant time, and use only two comparisons. The encoding creation time of PQE also compares favorably with previous results. It is less than 1 s on all standard benchmarks on a contemporary architecture, while the average time for processing a type is less than 1 ms. However, PQE is not an incremental algorithm. Other than PQ-trees, PQE employs several novel optimization techniques. These techniques are applicable also in improving the performance of other, previously published, encoding schemes.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Alpern, B., Cocchi, A., and Grove, D. 2001. Dynamic type checking in Jalapeño. In Java Virtual Machine Research and Technology Symposium, J. Clifford, B. G. Lindsay, and D. Maier, Eds. USENIX, Monterey, California.
 
3
 
4
 
5
 
6
Battista, G. D. and Tamassia, R. 1996. On-line maintenance of triconnected components with SPQR-trees. Algorithmica 15, 4 (Apr.), 302--318.
 
7
Booth, K. S. and Leuker, G. S. 1976. Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms. J. Comput. Sys. Sci. 13, 3 (Dec.), 335--379.
 
8
 
9
10
 
11
Chambers, C. 1993. The Cecil language, specification and rationale. Tech. rep. TR-93-03-05. University of Washington, Seattle, WA.
12
13
 
14
 
15
Dijkstra, E. W. 1960. Recursive programming. Numer. Math. 2, 312--318.
 
16
 
17
Fall, A. 1995. Heterogeneous encoding. In Proceedings of International KRUSE'95 Conference: Knowledge Use, Retrieval and Storage for Efficiency, G. Ellis, R. Levinson, A. Fall, and V. Dahl, Eds. Department of Computer Science, University of California, Santa Cruz, Santa Cruz, CA, 162--167.
 
18
 
19
20
21
 
22
 
23
Grafl, R. 1996. ACAO: Ein 64bit JavaVM just-in-time compiler. M.S. thesis, University of Vienna, Vienna, Austria.
 
24
Habib, M., Caseau, Y., Nourine, L., and Raynaud, O. 1999. Encoding of multiple-inheritance hierarchies and partial orders. Computat. Intell. 15, 50--62.
 
25
 
26
 
27
Junger, M., Leipert, S., and Mutzel, P. 1996. On computing a maximal planar subgraph using PQ-trees. Tech. rep. Informatik, Universität zu Köln, Cologne, Germany.
 
28
Junger, M., Leipert, S., and Mutzel, P. 1998. A note on computing a maximal planar subgraph using PQ-trees. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 17, 7 (Jul.), 609--612.
29
 
30
Krall, A. 2001. Personal communication.
 
31
Krall, A. and Grafl, R. 1997. CACAO---a 64 bit JavaVM just-in-time compiler. In PPoPP'97 Workshop on Java for Science and Engineering Computation (Las Vegas, NV), G. C. Fox and W. Li, Eds. ACM Press, New York, NY.
 
32
Krall, A., Vitek, J., and Horspool, R. N. 1997. Near optimal hierarchical encoding of types. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP '97, Jyväskylä, Finland). Lecture Notes in Computer Science, vol. 1241. Springer-Verlag, Berlin, Germany, 128--145.
 
33
Leipert, S. 1997. PQ-trees, an implementation as template class in C++. Tech. rep. Informatik, Universität zu Köln, Cologne, Germany.
 
34
Lempel, A., Even, S., and Cederbaum, I. 1967. An algorithm for planarity testing of graphs. In Theory of Graphs, International Symposium. Gordon and Breach, New York, NY, 215--232.
 
35
 
36
Palacz, K. and Vitek, J. 2003. Java subtype tests in real-time. In Proceedings of the 17th European Conference on Object-Oriented Programming (ECOOP '03). Lecture Notes in Computer Science. vol. 2743. Springer-Verlag, Darmstadt, Germany.
 
37
 
38
Schubert, L. K., Papalaskaris, M. A., and Taugher, J. 1983. Determining type, part, color, and time relationships. IEEE Comput (special issue on Knowledge Representation) 16, 10, 53--60.
 
39
40
 
41
van Emde Boas, P. 1977. Preserving order in a forest in less than logarithmic time and linear space. Inf. Process. Lett. 6, 3, 80--82.
 
42
van Emde Boas, P., Kaas, R., and Zijlstra, E. 1977. Design and implementation of an efficient priority queue. Math. Systems Theory 10, 99--127.
43
 
44



REVIEW

"Hans J. Schneider : Reviewer"

In this paper, PQ-trees, used in graph theory to find the orderings that satisfy a collection of constraints, are applied to encode the type hierarchy of object-oriented programs. This leads to efficient subtyping tests.

Sections 2 and 3 def  more...

Collaborative Colleagues:
Joseph (Yossi) Gil: colleagues
Yoav Zibin: colleagues