ACM Home Page
Please provide us with feedback. Feedback
Mechanisms for compile-time enforcement of security
Full text PdfPdf (753 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
Austin, Texas
Pages: 276 - 284  
Year of Publication: 1983
ISBN:0-89791-090-7
Author
Robert E. Strom  IBM Thomas J. Watson Research Center, Yorktown Heights, N.Y.
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 29,   Citation Count: 14
Additional Information:

abstract   references   cited by   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/567067.567093
What is a DOI?

ABSTRACT

This paper discusses features of a secure systems programming language designed and implemented at IBM's Watson Research Lab. Two features of the language design were instrumental in permitting security to be enforced with minimum run-time cost: (1) Language constructs (e.g. pointer variables) which could result in aliasing were removed from the programmer's direct control and replaced by higher level primitive types; and (2) traditional strong type checking was enhanced with typestate checking, a new mechanism in which the compiler guarantees that for all execution paths, the sequence of operations on each variable obeys a finite state grammar associated with that variable's type. Examples are given to illustrate the application of these mechanisms.


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
{AMB 76} Ambler, A. L., Good, D.I., Burger, W. F. "Report on the Language Gypsy". ICSCA-CMP-1, The University of Texas at Austin, 1976.
 
2
{CAM 74} The specification of process synchronization by path expressions. Lecture Notes in Computer Science 16, New York, 1974.
 
3
{CON 79} "Process Synchronization by Behavior Controllers", Ph. D. thesis, University of Texas at Austin, December 1979.
 
4
 
5
{EGG 81} Eggert, P. R., Detecting Software Errors Before Execution, UCLA Computer Science Department, Report No. CSD-810402, April 1981.
 
6
{HAL 82} Halim, N., and Pershing, J., "A New Language for Writing Portable and Secure Systems", IBM Research Report RC 9650
7
 
8
{KIE 79} Kieburtz, R., and Silberschatz, A., "Access-Right Expressions", University of Texas, Technical Report, 1979.
 
9
{NIL 82} NIL Reference Manual, IBM T. J. Watson Research Laboratory, internal document.
 
10
{PAR 81} Parr, F. N., and Strom, R. E., "Portable, Secure, Communications Software", Proceedings, International Conference on Communications, Denver, June, 1981, also IBM Research Report RC 8875.
 
11
{PAR 82} Parr, F. N., and Strom, R. E., "NIL: A Programming Language for Software Architecture", Proc. IEEE 6th International Conference on Software Engineering, Tokyo, expanded version also available as IBM Research Report RC 9227.
 
12
{PAR 83} Parr, F. N., and Strom, R. E., "A High Level Language for Distributed Systems Programming", to appear in IBM Systems Journal, special issue on communication, 1983.
13

CITED BY  14