Results 11  20
of
29
Logical abstract domains and interpretations
 IN THE FUTURE OF SOFTWARE ENGINEERING
, 2011
"... We give semantic foundations to abstract domains consisting in first order logic formulæ in a theory, as used in verification tools or methods using SMTsolvers or theorem provers. We exhibit conditions for a sound usage of such methods with respect to multiinterpreted semantics and extend their ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
(Show Context)
We give semantic foundations to abstract domains consisting in first order logic formulæ in a theory, as used in verification tools or methods using SMTsolvers or theorem provers. We exhibit conditions for a sound usage of such methods with respect to multiinterpreted semantics and extend their usage to automatic invariant generation by abstract interpretation.
Functional Programming Formalisms for OODB Methods
 IN PROC. OF THE NATO ASI SUMMER SCHOOL ON OODBS, TURKEY
, 1993
"... Two wellstudied functional formalisms in the theory of programming languages are (1) applicative program schemas and (2) typed lambda calculi. We relate these programming formalisms to objectoriented databases (OODBs) and in particular to the description of methods. The language of method schemas ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Two wellstudied functional formalisms in the theory of programming languages are (1) applicative program schemas and (2) typed lambda calculi. We relate these programming formalisms to objectoriented databases (OODBs) and in particular to the description of methods. The language of method schemas (MS) is a programming formalism based on applicative program schemas with additional key objectoriented features such as classes, methods, inheritance, name overloading, and late binding. From [4], we present its syntax and semantics and survey the stateoftheart of consistency checking or signature inference for this language, a problem which can be used in studying database schema evolution. We then relate MS with more conventional database query languages by showing that its expressive power over finite ordered databases is PTIME. Despite its simplicity and applicability, MS does not directly model the tuple, set, and list complex structures that are quite common in databases. Also, it does not treat functions as objects, i.e., methods are different from objects. It is possible to achieve these two capabilities using the typed lambda calculus with equality (TLC=) as a database query language, even without any objectoriented features. From [25], we illustrate how this pure functional language subsumes most conventional database query languages including the relational calculus/algebra, Datalog (with or without negation), and the complex object calculus/algebra (with or without powerset). In conclusion, we argue that the appropriate programming formalism for OODBs must be a functional language that combines the objectoriented MS with the expressive TLC= and facilitates operations on sets of objects.
Computing on Structures
"... this paper various devices operating directly on structures, without encoding. The motivation and benefits for doing this are manyfold. On a fundamental level, encodings of structures seem to be a technical device rather than an intrinsic feature. This point has already been made by several mathemat ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
this paper various devices operating directly on structures, without encoding. The motivation and benefits for doing this are manyfold. On a fundamental level, encodings of structures seem to be a technical device rather than an intrinsic feature. This point has already been made by several mathematicians such as Tarski [Tar86], and Harvey Friedman [Fri71] (see Section 5). It has come up more recently in the context of databases, where devices computing on structures model more acurately database computation carried out against an abstract interface hiding the internal representation of data. Thus, the primary benefit of studying devices and languages computing on structures is that they clarify issues which are obscured in classical devices such as Turing machines. For example, they yield new notions of complexity, quite different from classical computational complexity. They reflect more acurately the actual complexity of computation, which, like database computation, cannot take advantage of encodings of structures. An example is provided by the query even on a set
The WHILE Hierarchy of Program Schemes is Infinite
, 1998
"... . We exhibit a sequence Sn (n # 0) of while program schemes, i. e., while programs without interpretation, with the property that the while nesting depth of Sn is n, and prove that any while program scheme which is scheme equivalent to Sn , i. e., equivalent for all interpretations over arbitrary ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
. We exhibit a sequence Sn (n # 0) of while program schemes, i. e., while programs without interpretation, with the property that the while nesting depth of Sn is n, and prove that any while program scheme which is scheme equivalent to Sn , i. e., equivalent for all interpretations over arbitrary domains, has while nesting depth at least n. This shows that the while nesting depth imposes a strict hierarchy (the while hierarchy) when programs are compared with respect to scheme equivalence and contrasts with Kleene's classical result that every program is equivalent to a program of while nesting depth 1 (when interpreted over a fixed domain with arithmetic on nonnegative integers). Our proof is based on results from formal language theory; in particular, we make use of the notion of star height of regular languages. 1 Introduction When comparing programming languages, one often has a vague impression of one language being more powerful than another. However, a basic result of the ...
Comparative Schematology
, 1978
"... This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute o Technology. Support for the laboratory's artificial intelligence research is provided in part by the Advanced Research Projects Agency of the Department of Defense under Office of Nava ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute o Technology. Support for the laboratory's artificial intelligence research is provided in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contracts N0001475C 0643 and N0001475C0522
HigherOrder Model Checking: An Overview
"... Abstract—Higherorder model checking is about the model checking of trees generated by recursion schemes. The past fifteen years or so have seen considerable progress in both theory and practice. Advances have been made in determining the expressive power of recursion schemes and other higherorder ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract—Higherorder model checking is about the model checking of trees generated by recursion schemes. The past fifteen years or so have seen considerable progress in both theory and practice. Advances have been made in determining the expressive power of recursion schemes and other higherorder families of generators, automatatheoretic characterisations of these generator families, and the algorithmics and semantics of higherorder model checking and allied methods of formal analysis. Because the trees generated by recursion schemes are computation trees of higherorder functional programs, higherorder model checking provides a foundation for model checkers of such programming languages as Haskell, F # and Erlang. This paper aims to give an overview of recent developments in higherorder model checking. I.
On Gurevich’s Theorem for Sequential ASM
"... AbstractState Machines have been introduced as “a computation model that is more powerful and more universal than standard computation models”, by Yuri Gurevich in 1985 ([Gur85]). ASM gained much attention as a specification method, in particular for the description of the semantics of programmin ..."
Abstract
 Add to MetaCart
AbstractState Machines have been introduced as “a computation model that is more powerful and more universal than standard computation models”, by Yuri Gurevich in 1985 ([Gur85]). ASM gained much attention as a specification method, in particular for the description of the semantics of programming languages, communication protocols, distributed algorithms, etc. Gurevich proved recently that a sequential algorithm must only meet a few, liberal requirements, to be representable as an ASM. We reformulate Gurevich’s requirements for sequential algorithms, as well as the semantics of ASMprograms and the proof of his main theorem. A couple of examples support and explain intuition and motivation of ASM.
Под редакцией
"... Представлены работы по приближенным алгоритмам для задачи упаковки прямоугольников в несколько полос, задачи положительного линейного программирования, задачи о покрытии и ее обобщениях, задачи поиска часто встречающихся комбинаций. Несколько статей посвящены алгоритмической сложности, анализу и пре ..."
Abstract
 Add to MetaCart
(Show Context)
Представлены работы по приближенным алгоритмам для задачи упаковки прямоугольников в несколько полос, задачи положительного линейного программирования, задачи о покрытии и ее обобщениях, задачи поиска часто встречающихся комбинаций. Несколько статей посвящены алгоритмической сложности, анализу и преобразованиям программ в целях обеспечения компьютерной безопасности.
474 Session No. 11 Theoretioal Foundations KERNEL EQUIVALENCE OF PROGRAMS AND PROVING KERNEL EQUIVALENCE AND CORRECTNESS BY TEST CASES*
"... The statements in a program may be classified as "kernel statements " if they participate directly in the computation of some output and as "control statements " if they participate directly in deciding the control path at branch points. Two programs are kernel equivalent if they ..."
Abstract
 Add to MetaCart
The statements in a program may be classified as "kernel statements " if they participate directly in the computation of some output and as "control statements " if they participate directly in deciding the control path at branch points. Two programs are kernel equivalent if they always execute identical sequences of kernel statements given the same inputs. Kernel equivalence is defined formally and is shown to be practically decidable in many cases by a procedure of trying test cases. The concept of program kernel may also be used as a basis for proving correctness of programs. Descriptive Terms