Results 1 -
6 of
6
The Early Search for Tractable Ways of Reasoning About Programs
- IEEE Annals of the History of Computing
, 2003
"... This paper traces the important steps in the history --up to around 1990-- of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specifi ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
This paper traces the important steps in the history --up to around 1990-- of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satisfies its specification (or that two programs were equivalent). Over time it became clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necessary to exploit a notation of compositionality. Coping with concurrent algorithms is much more challenging -- this and other extensions are considered briefly. The main thesis of this paper is that the idea of reasoning about programs has been around since they were first written; the search has been to find tractable methods.
On the Search for Tractable Ways of Reasoning about Programs
, 2001
"... This paper traces the important steps in the history --up to around 1990-- of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satifies its specific ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
This paper traces the important steps in the history --up to around 1990-- of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. Initially, researchers focussed on ways of verifying that a program satifies its specification (or that two programs were equivalent). Over time it has become clear that post facto verification is only practical for small programs and attention turned to verification methods which support the development of programs; for larger programs it is necesary to exploit a notion of composability.
Algebraic Semantics for Functional Logic Programming with Polymorphic Order-Sorted Types
, 1996
"... . In this paper we present the semantics of a functional logic language with parametric and order-sorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructor-based conditional rewriting rules for which we define a semantic calculus. The denotational semantics of t ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
. In this paper we present the semantics of a functional logic language with parametric and order-sorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructor-based conditional rewriting rules for which we define a semantic calculus. The denotational semantics of the language is based on Scott domains interpreting constructors and functions by monotonic and continuous mappings, respectively, in every instance of the declared type. We prove initiality results for the free ground term algebra. We also prove that the free term algebra with variables is freely generated in the category of models. The semantic calculus is proved to be sound and complete w.r.t. the denotational semantics. As in logic programming, we define the immediate consequence operator, proving that the Hebrand model is the least model of a program. 1 Introduction Type systems have been traditionally considered in functional languages and incorporated as an extension to logic program...
Inductive Datatypes with Laws and Subtyping – A Relational Model
- Faculty of Mathematics and Computing
"... ..."
Tossing Algebraic Flowers down the Great Divide
- In People and Ideas in Theoretical Computer Science
, 1999
"... Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly l ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Data Types and Algebraic Semantics The history of programming languages, and to a large extent of software engineering as a whole, can be seen as a succession of ever more powerful abstraction mechanisms. The first stored program computers were programmed in binary, which soon gave way to assembly languages that allowed symbolic codes for operations and addresses. fortran began the spread of "high level" programming languages, though at the time it was strongly opposed by many assembly programmers; important features that developed later include blocks, recursive procedures, flexible types, classes, inheritance, modules, and genericity. Without going into the philosophical problems raised by abstraction (which in view of the discussion of realism in Section 4 may be considerable), it seems clear that the mathematics used to describe programming concepts should in general get more abstract as the programming concepts get more abstract. Nevertheless, there has been great resistance to u...
SEMANTICS OF GRAMMARS AND ATTRIBUTES VIA INITIALITY
"... ABSTRACT. This paper uses elementary categorical techniques to systematically describe the semantics of context-free grammars and of attribute evaluation for such grammars. The novelty lies in capturing inherited attributes and their evaluation via exponents and naturality. 1. ..."
Abstract
- Add to MetaCart
ABSTRACT. This paper uses elementary categorical techniques to systematically describe the semantics of context-free grammars and of attribute evaluation for such grammars. The novelty lies in capturing inherited attributes and their evaluation via exponents and naturality. 1.

