In this thesis I will give a formal definition of side effects. I will do so by modifying a system for modelling program instructions and program states, Quantified Dynamic Logic, to a system called DLAf (for Dynamic Logic with Assignments as Formulas), which in contrast to QDL allows assignments in formulas and makes use of short-circuit evaluation. I will show the underlying logic in those formulas to be a variant of short-circuit logic called repetition-proof short-circuit logic. Using DLAf I will define the actual and the expected evaluation of a single instruction. The side effects are then defined to be the difference between the two. I will give rules for composing those side effects in single instructions, thus scaling up our defini...
Side effects are a core part of practical programming. However, they are often hard to reason about,...
A steering fragment of an instruction sequence consists of a sequence of steering instructions. Thes...
We need to understand the impact of side effects whenever changing complex object-oriented software ...
This section covers basic topics and illustrates the technical notion of a computational effect with...
AbstractThis paper presents a rigorous framework for studying the influence of side effects in logic...
Graduation date: 1985In von Neumann Languages, side effects occur if one or more non local variables...
Side-effects are widely believed to impede program comprehension and have a detrimental effect upon ...
Deployed algorithms can cause certain negative side effects on the world in pursuit of their objecti...
The ability to inspect the state of program execution at a specified stage by the evaluation of a sp...
The paper presents a new fault model for testing sequential digital circuits, preferably...
This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts I...
International audienceIn the quest to give a formal compositional semantics to natural languages, se...
Short-circuit evaluation denotes the semantics of propositional connectives in which the second argu...
Symbolic evaluation is a process which abstractly evaluates an program on abstract data. A formali...
In the absence of better information worst case assumptions must be made for the side effects of cal...
Side effects are a core part of practical programming. However, they are often hard to reason about,...
A steering fragment of an instruction sequence consists of a sequence of steering instructions. Thes...
We need to understand the impact of side effects whenever changing complex object-oriented software ...
This section covers basic topics and illustrates the technical notion of a computational effect with...
AbstractThis paper presents a rigorous framework for studying the influence of side effects in logic...
Graduation date: 1985In von Neumann Languages, side effects occur if one or more non local variables...
Side-effects are widely believed to impede program comprehension and have a detrimental effect upon ...
Deployed algorithms can cause certain negative side effects on the world in pursuit of their objecti...
The ability to inspect the state of program execution at a specified stage by the evaluation of a sp...
The paper presents a new fault model for testing sequential digital circuits, preferably...
This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts I...
International audienceIn the quest to give a formal compositional semantics to natural languages, se...
Short-circuit evaluation denotes the semantics of propositional connectives in which the second argu...
Symbolic evaluation is a process which abstractly evaluates an program on abstract data. A formali...
In the absence of better information worst case assumptions must be made for the side effects of cal...
Side effects are a core part of practical programming. However, they are often hard to reason about,...
A steering fragment of an instruction sequence consists of a sequence of steering instructions. Thes...
We need to understand the impact of side effects whenever changing complex object-oriented software ...