Expression evaluation in programming languages is normally assumed to be deterministic; however, if an expression involves variables that are being modified by the environment of the process during its evaluation, the result of the evaluation can be non-deterministic. Two common scenarios in which this occurs are concurrent programs within which processes share variables and real-time programs that interact to monitor and/or control their environment. In these contexts, although any particular evaluation of an expression gives a single result, there is a range of possible values that could be returned depending on the relative timing between modification of a variable by the environment and its access within the expression evaluation. To co...
The functions behavior of a deterministic program segment is a function f:D→D, where D is some set o...
Mercury is a new purely declarative logic programming language. The Mercury determinism system allow...
Concurrent programs are hard to design, develop, and debug. It is widely accepted that we lack good ...
Expression evaluation in programming languages is normally deterministic; however, if expres- sions ...
Abstract. The presence of non-determinism in the parallel-functional language Eden creates some prob...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
AbstractThe refinement calculus for logic programs consists of a wide-spectrum language and a notion...
When programs are intended for parallel execution it becomes critical to determine whether the eval...
This paper studies observational determinism, a gener-alisation of non-interference for multi-thread...
Context analysis calculates which components of arguments to functions may be evaluated eagerly with...
So-called "guarded commands" are introduced as a building block for alternative and repetitive const...
This paper presents a simple programming logic LES, which is particularly well suited for reasoning...
Research into C verification often ignores that the C standard leaves the evaluation order of expres...
A framework that combines imperative programs with algebraic specifications is presented. We focus o...
The functions behavior of a deterministic program segment is a function f:D→D, where D is some set o...
Mercury is a new purely declarative logic programming language. The Mercury determinism system allow...
Concurrent programs are hard to design, develop, and debug. It is widely accepted that we lack good ...
Expression evaluation in programming languages is normally deterministic; however, if expres- sions ...
Abstract. The presence of non-determinism in the parallel-functional language Eden creates some prob...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
AbstractThe refinement calculus for logic programs consists of a wide-spectrum language and a notion...
When programs are intended for parallel execution it becomes critical to determine whether the eval...
This paper studies observational determinism, a gener-alisation of non-interference for multi-thread...
Context analysis calculates which components of arguments to functions may be evaluated eagerly with...
So-called "guarded commands" are introduced as a building block for alternative and repetitive const...
This paper presents a simple programming logic LES, which is particularly well suited for reasoning...
Research into C verification often ignores that the C standard leaves the evaluation order of expres...
A framework that combines imperative programs with algebraic specifications is presented. We focus o...
The functions behavior of a deterministic program segment is a function f:D→D, where D is some set o...
Mercury is a new purely declarative logic programming language. The Mercury determinism system allow...
Concurrent programs are hard to design, develop, and debug. It is widely accepted that we lack good ...