| Patrick Cousot. Methods and logics for proving programs. In J. van Leewen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, chapter 15, pages 841--993. The MIT Press, New York, N.Y., 1990. (p 4) |
.... the authors text [Harel et al. 2000] There are by now a number of books and survey papers treating logics of programs, program verification, and Dynamic Logic [Apt and Olderog, 1991; Backhouse, 1986; Harel, 1979; Harel, 1984; Parikh, 1981; Goldblatt, 1982; Goldblatt, 1987; Knijnenburg, 1988; Cousot, 1990; Emerson, 1990; Kozen and Tiuryn, 1990] In particular, much of this chapter is an abbreviated summary of material from the authors text [Harel et al. 2000] to which we refer the reader for a more complete treatment. Full proofs of many of the theorems cited in this chapter can be found ....
.... and interesting connections with topology, classical algebra, and model theory have been made ( Kozen, 1979b; Nemeti, 1980] 15 BIBLIOGRAPHICAL NOTES Systematic program verification originated with the work of [Floyd, 1967] and [Hoare, 1969] Hoare Logic was introduced in [Hoare, 1969] see [Cousot, 1990; Apt, 1981; Apt and Olderog, 1991] for surveys. The digital abstraction, the view of computers as state transformers that operate by performing a sequence of discrete and instantaneous primitive steps, can be attributed to [Turing, 1936] Finite state transition systems were defined formally by ....
Patrick Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbood of Theoretical Computer Science, volume B, pages 841--993. Elsevier, Amsterdam, 1990.
....to say that there is at least one cell available, and by using x : cons(7; 8) x : z in place of the single statement x : z. The upshot is that previous program logics for pointer programs are unsound in the presence of garbage collection, including all of the pointer logic references in [5,3,9] (with the exception of [7] see below) We take a few representative examples. In an early work Oppen and Cook described a complete proof system for deriving true Hoare triples about pointer programs [13] but their interpretation of quanti ers is the usual rst order interpretation; as a result ....
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, 28 Handbook of Theoretical Computer Science, volume B, pages 843-993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
....of program verification for various forms of input output including monadic IO. Recent work on modelling SMLstyle references can be found in [15] This chapter does not try to address all the work on verification of parallel imperative programs: Sections 8.9 and 8. 10 of the exhaustive survey [5] more than do justice to this topic, and put it in the context of imperative program verification in general. On the other hand, links with process algebra are examined in Section 8.4. 2 2 The basis of functional programming: equations In this section we examine the basis of functional ....
Patrick Cousot. Methods and Logics for Proving Programs. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics. MIT Press/Elsevier, 1990.
....to say that there is at least one cell available, and by using x : cons(7; 8) x : z in place of the single statement x : z. The upshot is that previous program logics for pointer programs are unsound in the presence of garbage collection, including all of the pointer logic references in [5, 3, 9] (with the exception of [7] see below) We take a few representative examples. In an early work Oppen and Cook described a complete proof system for deriving true Hoare triples about pointer programs [15] but their interpretation 2 of quanti ers is the usual rst order interpretation; as a ....
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 843-993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
....In all these frameworks we can directly work with our notion of use and necessity. As a general reference serves the second volume of the Handbook of Theoretical Computer Science [vL90] As generally known, the pioneer formal approach to programming language was given by Hoare [Hoa69] cf. Cou90] which contains an impressive list of more than 400 references. For imperative languages frameworks of dynamic logic became popular, because it allows us to express the change of variables in a more natural way, KT90, Har84] These logics have a standard axiomatization and we can transfer our ....
Patrick Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B, pages 841-993. Elsevier and MIT Press, 1990.
....on y. Procedures are used in Section 7 mainly to help structure the presentation, but in Section 6 we also use recursive calls. There we appeal to the standard partial correctness rule which allows us to use the speci cation we are trying to prove as an assumption when reasoning about the body [5]. Our treatment in what follows will not be completely formal. We will continue to use the Rule of Consequence in a semantic way, and we will make inductive de nitions without formally de ning their semantics. Also, as is common, we will present program speci cations annotated with intermediate ....
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 843-993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
.... control programs [37] and in the logical formalization of active databases [5, 7] reasoning about parameterized actions, qualification and ramification constraints, concurrent execution of actions [29] The later use makes it more appropriate than the traditional approach of program correctness [23] which has been designed for standard programming languages and lacks the flexibility of defining new operators activities. Recall that during the requirements specification of workflows, we do not want to generate fully correct but sound and mostly complete descriptions, similar to the ....
P. Cousot. Methods and logics for proving programs. In Handbook of theoretical computer science, volume B, pages 841--994. MIT Press, 1990.
....introduced in Def. 2.5 is (relative) complete. Proof by induction on the structure of S [Kle98a] We discuss a refined proof technique in Sect. 4. 1 the set of all valid as opposed to derivable formulae 2 For partial correctness, one needs to instead consider the weakest liberal precondition [Cou90] 6 2.6 Adaptation Completeness For programming in the large, adaptation completeness is a desirable feature [Zwi89] Whenever, irrespective of the details of the program S, two correctness formula fp 1 g S fq 1 g and fpg S fqg are equivalent, one would like to derive Hoare fpg S fqg from ....
Patrick Cousot. Methods and logics for proving programs. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, chapter 15, pages 841--993. Elsevier, 1990. 27
....constraint, i.e. that running two transactions in parallel should have the same e ect as running them one after the other. Transaction management is an important eld in database research investigated among others by Beeri, Bernstein and Goodman ( 1989] and Korth and Speegle ( 1988] [1990]) One requirement for transactions is consistency with respect to static and transition constraints, i.e. transactions starting in a database state which satis es a static constraint I should only reach a nal database state also satisfying I. For a transition constraint J each possible pair of ....
....introduced such that a precise mathematical semantics could be de ned in terms of algebras over a given signature. A Scenario for the Development of Relational Database Programs 14 This is meanwhile captured by standard literature of Ehrich, Gogolla and Lipeck ( 1989] Ehrig and Mahr ( 1985] [1990]) and Wirsing ( 1990] Later this extended to order sorted algebras (Goguen and M eseguer, 1987] and more recently to theories in equational logic and institutions (Goguen and Burstall, 1992] Moreover, di erent views on semantics, either based on initial algebras or terminal ( nal) algebras ....
[Article contains additional citation context not shown here]
P. Cousot (1990): Methods and Logics for Proving Programs, in J. van Leeuwen (Ed.): The Handbook of Theoretical Computer Science, vol B: \Formal Models and Semantics", Elsevier, 841-993
....Dynamic logic is a modal logic especially designed to reason about actions. Historically it dates back to work by Vaughan Pratt [40] Bob Moore [39] and David Harel [19, 18] and it has been used for reasoning about programs, thus providing a formalism for program verification and specification [25, 6]. 1 It is very much akin to Hoare s logic [20] for program correctness, and can in fact be considered as a generalisation of this logic. In this section we will treat the basic idea behind an elementary form of (propositional) dynamic logic 2 , which will serve as a basis for the later logics ....
P. Cousot, Methods and Logics for Proving Programs, in: J. van Leeuwen (ed.), Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics, Elsevier, Amsterdam, 1990, pp. 841--993.
....to be considered as part of the speci cation, hence nding a correct program that satis es the speci cation is left to re nement. On the other hand, the axiomatic semantics associated with B operations in the style of Dijkstra [10, 13, 21] enables the de nition of consistency proof obligations [2, 9, 22] in a suitable logic. At rst glance the VDM and Z approach seems to be advantagous, because it avoids signi cant veri cation e orts. To the authors point of view industrial applicability and acceptance of formal methods can only be expected if the whole re nement process is taken into ....
.... from the introduction to this section that the set of all initial states such that each terminating execution of S reaches I is wlp(S) I) i.e. f 2 j ( 2 (S) implies j= I for all 2 g = wlp(S) I) Hence we have the requirement I wlp(S) I) which is equivalent to (i) [9]. The intuition behind the de nition of specialization is that whenever an execution of the specialized operation T establishes some post predicate R, then this execution should already be one of the general operation S. Clearly, v de nes a partial order on semantic equivalence classes of ....
P. Cousot: \Methods and Logics for Proving Programs", in J. van Leeuwen (Ed.): The Handbook of Theoretical Computer Science, vol. B, Elsevier, 1990, 841-993
....pointwise, semantics based on partial states, which does not satisfy monotonicity. This embedding goes by a modal transform; see [7] 12 Conclusion As far as we are aware, no previous semantics of pointer assertions is garbage insensitive; this includes all of the pointer logic references in [4, 2, 7]. We stress 21 that in this we are excluding approaches primarily concerned with equivalence, where equivalence is the sole speci cation form. That is, we are concerned with methods that enable the behaviour of a program to be speci ed, typically using pre and post conditions. Neither do we ....
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 843-993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
....some welcome assurance for the unusual interpretation of quanti ers in the total semantics, by relating it to a widely studied semantics. 10 Conclusion As far as we are aware, no previous semantics of pointer assertions is garbage insensitive, including all of the pointer logic references in [4, 2, 7]. We stress that we are excluding approaches primarily concerned with equivalence, where equivalence is the sole speci cation form. That is, we are concerned with methods that enable the behaviour of a program to be speci ed, typically using preand post conditions. Neither do we consider type ....
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 843-993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
No context found.
Patrick Cousot. Methods and logics for proving programs. In J. van Leewen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, chapter 15, pages 841--993. The MIT Press, New York, N.Y., 1990. (p 4)
No context found.
Patrick Cousot. Methods and logics for proving programs. In J. van Leewen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, chapter 15, pages 841--993. The MIT Press, New York, N.Y., 1990. (p 4)
....(e.g. for func# tional languages [38] In this context the finiteness hypothesis on data structures is not enough to ensure the finiteness of the program semantics. An example is the restriction of program variables to booleans in which case it is possible to simulate a Turing machine in Pascal [25] but not in C thus enabling finite model checking [5] Control analysis may also require a precise data flow analysis e.g. to trace pointers to functions or handlers (see Sec. 3.5) Even with simple control structures, control abstractions (which consist in isolating a control flow skeleton which ....
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Formal Models and Semantics , volume B of Handbook of Theoretical Computer Science , chapter 15, pages 843--993. Elsevier, 1990.
....that of the program P . For example in an imperative program la C, a function may call other functions in the program and use and or modify global variables. In Pascal, a program may modify variables on the program execution stack at a program point where these variables are even not visible (see [13]) A very simple formalization consists in considering that the semantics of the program can be specied in the following equational form: # # Y = F X i = F Y , # X 1 , # where # Y represents the global information on the program while # X i represents that on the program part ....
....sense of Floyd [40] so that no global iteration is needed. Otherwise the external iteration can be used to strengthen the interface until a xpoint is reached, as done in Sec. 8.2. The limit of this approach is close to classical proof methods with user provided invariants at cutpoints of all loops [13]. 8.4 Renement of the Abstract Domain into a Symbolic Relational Domain Separate non relational static program analyzes (such as sign analysis, interval analysis, etc. expressing properties of individual objects of programs (such as ranges of values of numerical variables) but no relationships ....
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen (ed), Formal Models and Semantics, vol. B of Handbook of Theoretical Computer Science, ch. 15, 843993. Elsevier, 1990.
No context found.
Patrick Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, chapter 15, pages 841--993. MIT Press, 1990.
No context found.
P. Cousot. Methods and logics for proving programs. In Handbook of Theoretical Computer Science, volume B, pages 843--993. Elsevier, 1999.
No context found.
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 843--993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
No context found.
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, 28 Handbook of Theoretical Computer Science, volume B, pages 843--993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
No context found.
Cousot P.: Methods and logics for proving programs. In: van Leeuwen J. (ed.), Handbook of Theoretical Computer Science, Vol. B, pp. 841-993, Elsevier (1990)
No context found.
P. Cousot. Methods and logics for proving programs. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 843--993. Elsevier, Amsterdam, and The MIT Press, Cambridge, Mass., 1990.
No context found.
P. Cousot, Methods and Logics for Proving Programs, in: J. van Leeuwen, ed., Handbook of Theoretical Computer Science, Elsevier (1990) 841-993
No context found.
Patrick Cousot. Methods and logics for proving programs. In: Jan van Leeuwen (ed.) Handbook of Theoretical Computer Science, Vol. B, Elsevier, Amsterdam, 1990, pp. 843--982.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC