Software testing is presented as a so-called theme within which different
authors and groups have defined different subjects each of these subjects
having a different focus on testing. A uniform concept of software testing is
non-existent and the space of possible coherent perspectives on software
testing, each fitting within the theme, is viewed as being spanned by five
dimensions, each dimension representing two opposite views with a variety of
intermediate views in between.
We give a rough sketch of the Judaic, Greek, Islamic and Christian positions
in the matter of interest prohibition during the last few millennia and discuss
the way in which interest prohibition is dealt with in Islamic finance, the
problems with authority-based arguments for interest prohibition, and the
prospects of interest prohibition with the advent of electronic money.
Interest prohibition theory concerns theoretical aspects of interest
prohibition. We attempt to lay down some aspects of interest prohibition theory
wrapped in a larger framework of informal logic. The reason for this is that
interest prohibition theory has to deal with a variety of arguments which is so
wide that a limitation to so-called correct arguments in advance is
counterproductive. We suggest that an application specific informal logic must
be developed for dealing with the principles of interest prohibition theory.
Principles of financial product synthesis from a few basic financial products
constitute an interesting research topic inspired by Islamic finance. We make
an effort to answer general questions that should be answered before starting
to investigate the main issues concerning this topic with the formalization of
financial products and principles of financial product synthesis.
We dwell on how a definition of a theoretical concept of an operating system,
suitable to be incorporated in a mathematical theory of operating systems,
could look like. This is considered a valuable preparation for the development
of a mathematical theory of operating systems.
We study shedding in the setting of data linkage dynamics, a simple model of
computation that bears on the use of dynamic data structures in programming.
Shedding is complementary to garbage collection. With shedding, each time a
link to a data object is updated by a program, it is determined whether or not
the link will possibly be used once again by the program, and if not the link
is automatically removed. Thus, everything is made garbage as soon as it can be
viewed as garbage. By that, the effectiveness of garbage collection becomes
maximal.
We position Turing's result regarding the undecidability of the halting
problem as a result about programs rather than machines. The mere requirement
that a program of a certain kind must solve the halting problem for all
programs of that kind leads to a contradiction in the case of a recent
unsolvability result regarding the halting problem for programs. In this paper,
we investigate this autosolvability requirement in a setting in which programs
take the form of instruction sequences.
Interaction with services provided by an execution environment forms part of
the behaviours exhibited by instruction sequences under execution. Mechanisms
related to the kind of interaction in question have been proposed in the
setting of thread algebra. Like thread, service is an abstract behavioural
concept. The concept of a functional unit is similar to the concept of a
service, but more concrete. A state space is inherent in the concept of a
functional unit, whereas it is not inherent in the concept of a service.
This paper concerns instruction sequences whose execution involves the
processing of instructions by an execution environment that offers a family of
services and may yield a Boolean value at termination. We introduce a
composition operator for families of services and three operators that have a
direct bearing on the processing in question. Together they are simpler and
more powerful than the operators proposed for the same purpose in earlier work.
Some of the operators allow for terms to be built that are not intended to
denote anything.
We develop theory concerning non-uniform complexity in a setting in which the
notion of single-pass instruction sequence considered in program algebra is the
central notion. We define counterparts of the complexity classes P/poly and
NP/poly and formulate a counterpart of the complexity theoretic conjecture that
NP is not included in P/poly. In addition, we define a notion of completeness
for the counterpart of NP/poly using a non-uniform reducibility relation and
formulate complexity hypotheses which concern restrictions on the instruction
sequences used for computation.
This paper is concerned with the status of 1/0 and ways to deal with it.
These matters are treated in the setting of Komori fields, also known as
non-trivial cancellation meadows. Different viewpoints on the status of 1/0
exist in mathematics and theoretical computer science.
Instruction sequences with direct and indirect jump instructions are as
expressive as instruction sequences with direct jump instructions only. We show
that, in the case where the number of instructions is not bounded, there exist
instruction sequences of the former kind from which elimination of indirect
jump instructions is possible without a super-linear increase of their maximal
internal delay on execution only at the cost of a super-linear increase of
their length.
An inversive meadow is a commutative ring with identity equipped with a
multiplicative inverse operation made total by choosing 0 as its value at 0.
Previously, inversive meadows were shortly called meadows. A divisive meadow is
an inversive meadows with the multiplicative inverse operation replaced by a
division operation. In the spirit of Peacock's arithmetical algebra, we
introduce variants of inversive and divisive meadows without an additive
identity element and an additive inverse operation.