Reasoning about Procedure Calls with Repeated Arguments and the Reference-Value Distinction
2002 CR Categories: D.2.1 [Software Engineering] Requirements/Specifications languages; D.2.4 [Software Engineering] Software/Program Verification correctness proofs, formal methods, programming by contract, reliability; D.3.1 [Programming Languages] Formal Definitions and Theory semantics; D.3.3 [Programming Languages] Language Constructs and Features Procedures, functions, and subroutines; F.3.1 [Logics and Meanings of Programs] Specifying and Verifying and Reasoning about Programs Assertions, logics of programs, preand postconditions, specification techniques; F.3.3 [Logics and Meanings of Programs] Studies of Program Constructs Functional constructs, object-oriented constructs.