Maarten H. van Emden
University of Victoria
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Maarten H. van Emden.
Reliable Computing | 2000
Timothy J. Hickey; Zhe Qju; Maarten H. van Emden
AbstractConventional plotting programs adopt techniques such as adaptive sampling to approximate, but not to guarantee, correctness and completeness in graphing functions. Moreover, implicitly defined mathematical relations can impose an even greater challenge as they either cannot be plotted directly, or otherwise are likely to be misrepresented. In this paper, we address these problems by investigating interval constraint plotting as an alternative approach that plots a hull of the specified curve. We present some empirical evidence that this hull property can be achieved by a
principles and practice of constraint programming | 1998
Timothy J. Hickey; Maarten H. van Emden; Huan Wu
Software Testing, Verification & Reliability | 1992
Maarten H. van Emden
\mathcal{O}(n)
Reliable Computing | 2004
Maarten H. van Emden
principles and practice of declarative programming | 2012
Maarten H. van Emden
algorithm. Practical experience shows that the hull obtained is the narrowest possible whenever the precision of the underlying floating-point arithmetic is adequate. We describe IASolver, a Java applet (http://www.cs.brandeis.edu/~tim) that serves as testbed for this idea.
Lecture Notes in Computer Science | 2002
Maurice Bruynooghe; Luís Moniz Pereira; Jörg H. Siekmann; Maarten H. van Emden
We are concerned with interval constraints: solving constraints among real unknowns in such a way that soundness is not affected by rounding errors. The contraction operator for the constraint x + y = z can simply be expressed in terms of interval arithmetic. An attempt to use the analogous definition for x * y = z fails if the usual definitions of interval arithmetic are used. We propose an alternative to the interval arithmetic definition of interval division so that the two constraints can be handled in an analogous way. This leads to a unified treatment of both interval constraints and interval arithmetic that makes it easy to derive formulas for other constraint contraction operators. We present a theorem that justifies simulating interval arithmetic evaluation of complex expressions by means of constraint propagation. A naive implementation of this simulation is inefficient. We present a theorem that justifies what we call the totality optimization. It makes simulation of expression evaluation by means of constraint propagation as efficient as in interval arithmetic. It also speeds up the contraction operators for primitive constraints.
ICGA Journal | 2010
Maarten H. van Emden; André Vellino
Cleanroom programming and code inspections independently provide evidence that it is more efficient to postpone the testing of code to a later stage than is usually done. This paper argues that an additional gain in quality and efficiency of development can be obtained by structuring inspections by means of an inspection protocol. The written part of such a protocol is prepared by the programmer before the inspection. It is modelled on Floyds method for the verification of flowcharts. However, the protocol differs from Floyds method in being applicable in practice. Structured inspections gain this advantage by not attempting to be a proof; they are no more than an articulation of existing forms of inspection. With the usual method of structured programming it may be difficult to prepare the inspection protol. On the other hand, ‘assertion-driven programming’ (of which an example is included in this paper) not only facilitates protocol preparation, but also the coding itself.Cleanroom programming and code inspections independently provide evidence that it is more efficient to postpone the testing of code to a later stage than is usually done. This paper argues that an additional gain in quality and efficiency of development can be obtained by structuring inspections by means of an inspection protocol. The written part of such a protocol is prepared by the programmer before the inspection. It is modelled on Floyds method for the verification of flowcharts. However, the protocol differs from Floyds method in being applicable in practice. Structured inspections gain this advantage by not attempting to be a proof; they are no more than an articulation of existing forms of inspection. With the usual method of structured programming it may be difficult to prepare the inspection protol. On the other hand, ‘assertion‐driven programming’ (of which an example is included in this paper) not only facilitates protocol preparation, but also the coding itself.
arXiv: Programming Languages | 2001
Maarten H. van Emden
We review the various interval notations as starting point for the analysis of the significance of the decimals used for interval bounds. As intervals are used to indicate that a number is known with a certain degree of uncertainty, we also review the rules used in physics to ensure the significance of the decimals used in recording a measurement. It turns out that according to these rules, commonly used interval notation carries too many decimals. To be able to investigate whether rules similar to those used in physics can be used to improve interval notation, we use information theory to determine the information content of the last decimals of the numerals used to denote the intervals bounds. We introduce the Law of One Tenth, stating that in many situations this content diminishes by a factor of ten on average for successive decimals. The law is especially useful in conjunction with a novel and little-used way of writing intervals that we call “factored notation.” The law implies that it is usually futile to write more than two or three decimals inside the brackets of factored notation.
arXiv: Discrete Mathematics | 2006
Maarten H. van Emden
Matrix Code gives imperative programming a mathematical semantics and heuristic power comparable in quality to functional and logic programming. A program in matrix code is developed incrementally from a specification in pre/post-condition form. The computations of a code matrix are characterized by powers of the matrix when it is interpreted as a transformation in a space of vectors of logical conditions. Correctness of a code matrix is expressed in terms of a fixpoint of the transformation.
arXiv: Numerical Analysis | 2002
Maarten H. van Emden
Throughout his prolific scientific career, Robert (Bob) Kowalski was motivated by his desire to reshape logic from an abstract mathematical discipline into a working tool for problem solving. This led him towards a wide exploration of logic in computer science, artificial intelligence, cognitive science, and law.