Proving Properties of Complex Data Structures
Journal of the ACM (JACM)
Exception handling: issues and a proposed notation
Communications of the ACM
A Discipline of Programming
Some desirable properties of data abstraction facilities
Proceedings of the 1976 conference on Data : Abstraction, definition and structure
Proceedings of the international conference on Reliable software
Hints on programming language design.
Hints on programming language design.
Automatic program verification V: verification-oriented proof rules for arrays, records and pointers
Automatic program verification V: verification-oriented proof rules for arrays, records and pointers
Global variable considered harmful
ACM SIGPLAN Notices
Report on the programming language Euclid
ACM SIGPLAN Notices
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
Magma2: a language oriented toward experiments in control
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Information-flow and data-flow analysis of while-programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Side effects and aliasing can have simple axiomatic descriptions
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the use of registers vs. cache to minimize memory traffic
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monitors and concurrent Pascal: a personal history
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Perspectives in Software Engineering
ACM Computing Surveys (CSUR)
A Model for Implementing EUCLID Modules and Prototypes
ACM Transactions on Programming Languages and Systems (TOPLAS)
A comparison of two network-based file servers
Communications of the ACM
Social processes and proofs of theorems and programs
Communications of the ACM
Syntactic control of interference
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Mechanisms for compile-time enforcement of security
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Modeling of problem domains for driving program development systems
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICSE '81 Proceedings of the 5th international conference on Software engineering
A type-checking program linkage system for pascal
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Concurrent software system design supported by SARA at the age of one
ICSE '78 Proceedings of the 3rd international conference on Software engineering
The Euclid Language: a progress report
ACM '78 Proceedings of the 1978 annual conference
Teaching data abstraction to the practicing programmer: A case study
SIGCSE '80 Proceedings of the eleventh SIGCSE technical symposium on Computer science education
A model for implementing Euclid modules and type templates
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
Parameter validation for software reliability
ACM SIGPLAN Notices
Type equivalence in strongly typed languages: one more look
ACM SIGPLAN Notices
An alternative to conformant-array parameters in Pascal
ACM SIGPLAN Notices
Some verification problems in Pascal-like languages
ACM SIGSOFT Software Engineering Notes
Monitors and Concurrent Pascal: a personal history
History of programming languages---II
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
A historical perspective on runtime assertion checking in software development
ACM SIGSOFT Software Engineering Notes
Simplifying reasoning about objects with Tako
Proceedings of the 2006 conference on Specification and verification of component-based systems
Euclid: a language for compiling quality software
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
Electronic Notes in Theoretical Computer Science (ENTCS)
FP'95 Proceedings of the 1995 international conference on Functional Programming
Implementation of language enhancements
Computer Languages
SIMPLE: A program development system
Computer Languages
Hi-index | 0.03 |
Euclid is a language for writing system programs that are to be verified. We believe that verification and reliability are closely related, because if it is hard to reason about programs using a language feature, it will be difficult to write programs that use it properly. This paper discusses a number of issues in the design of Euclid, including such topics as the scope of names, aliasing, modules, type-checking, and the confinement of machine dependencies; it gives some of the reasons for our expectation that programming in Euclid will be more reliable (and will produce more reliable programs) than programming in Pascal, on which Euclid is based.