An experimental evaluation of data type conventions
Communications of the ACM
Symbolic execution and program testing
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Gypsy: A language for specification and implementation of verifiable programs
Proceedings of an ACM conference on Language design for reliable software
ACM SIGPLAN Notices
Report on the programming language Euclid
ACM SIGPLAN Notices
A System to Generate Test Data and Symbolically Execute Programs
IEEE Transactions on Software Engineering
Theoretical and Empirical Studies of Program Testing
IEEE Transactions on Software Engineering
Controlling the Software Life Cycle The Project Management Task
IEEE Transactions on Software Engineering
Specification techniques for data abstractions
IEEE Transactions on Software Engineering
An interactive program verification system
IEEE Transactions on Software Engineering
Toward a theory of test data selection
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
This paper addresses aspects of programming language design that affect the ease with which programs written in a language can be subjected to systematic testing and/or program verification. The discussion focuses of Pascal and on several languages that have been derived primarily from Pascal, particularly Euclid and PLAIN. Specific language issues addressed include translation-time checking, program readability, flow of control, support for program modularity, data flow, and program immutability. The relative ease of validating such programs is then determined by the style in which the programs are written. The paper presents some guidelines for writing programs in Pascal-like languages for testability and verifiability.