This Article 
 Bibliographic References 
 Add to: 
A Simple Mechanism for Type Security Across Compilation Units
August 1988 (vol. 14 no. 8)
pp. 1238-1239

A simple technique is described that detects structural-type clashes across compilation units with an arbitrarily high degree of confidence. The type of each external object is described in canonical form. A hash function compresses the description into a short code. If the code is embedded in a symbol-table name, then consistency can be checked by an ordinary linker. For distributed programs, run-time checking of message types can be performed with very little overhead.

[1] A. Celentano, P. D. Vigna, C. Ghezzi, and D. Mandrioli, "Separate compilation and partial specification in Pascal,"IEEE Trans. Software Eng., vol. SE-6, pp. 320-328, July 1980.
[2] S. I. Feldman, "Make--A program or maintaining computer programs,"Software--Practice and Experience, vol. 9, pp. 255-265, 1979.
[3] C. Ghezzi and M. Jazayeri,Programming Language Concepts. New York: Wiley, 1987.
[4] R. G. Hamlet, "High-level binding with low-level linkers,"Commun. ACM, vol. 19, pp. 642-644, Nov. 1976.
[5] R. B. Kieburtz, W. Barabash, and C. R. Hill, "A type-checking program linkage system for Pascal," inProc. 3rd Int. Conf. Software Eng., May 1978, pp. 23-28.
[6] W. Koch and C.Oeters, "The Berlin ALGOL 68 implementation," inProc. Strathclyde ALGOL 68 Conf., Mar. 1977, pp. 102-108: also,ACM SIGPLAN Notices, vol. 12, June 1977.
[7] J. Kral, "The equivalence of mode and the equivalence of finite automata,"ALGOL Bull., vol 35, pp. 34-35, Mar. 1973.
[8] M. L. Scott and R. A. Finkel, "LYNX: A dynamic distributed programming language," inProc. 1984 Int. Conf. Parallel Processing, Aug. 1984, pp. 395-401.

Index Terms:
compilers; data structures; type security; compilation units; structural-type clashes; hash function; symbol-table name; ordinary linker; distributed programs; run-time checking; message types; data structures; program compilers
M.L. Scott, R.A. Finkel, "A Simple Mechanism for Type Security Across Compilation Units," IEEE Transactions on Software Engineering, vol. 14, no. 8, pp. 1238-1239, Aug. 1988, doi:10.1109/32.7631
Usage of this product signifies your acceptance of the Terms of Use.