45 research outputs found
Thread extraction for polyadic instruction sequences
In this paper, we study the phenomenon that instruction sequences are split
into fragments which somehow produce a joint behaviour. In order to bring this
phenomenon better into the picture, we formalize a simple mechanism by which
several instruction sequence fragments can produce a joint behaviour. We also
show that, even in the case of this simple mechanism, it is a non-trivial
matter to explain by means of a translation into a single instruction sequence
what takes place on execution of a collection of instruction sequence
fragments.Comment: 21 pages; error corrected; presentation improve
On the behaviours produced by instruction sequences under execution
We study several aspects of the behaviours produced by instruction sequences
under execution in the setting of the algebraic theory of processes known as
ACP. We use ACP to describe the behaviours produced by instruction sequences
under execution and to describe two protocols implementing these behaviours in
the case where the processing of instructions takes place remotely. We also
show that all finite-state behaviours considered in ACP can be produced by
instruction sequences under execution.Comment: 36 pages, consolidates material from arXiv:0811.0436 [cs.PL],
arXiv:0902.2859 [cs.PL], and arXiv:0905.2257 [cs.PL]; abstract and
introduction rewritten, examples and proofs adde
About Instruction Sequence Testing
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.
Instruction sequences are used as a simple theoretical conceptualization of
computer programs. A theory of instruction sequence testing may serve as a
model for a theory of software testing. Instruction sequences testing is
considered a new topic for which definitions may be freely contemplated without
being restricted by existing views on software testing.
The problem of developing a theory of instruction sequence testing is posed.
A survey is given of motivations and scenarios for developing a theory of
instruction sequence testing
Instruction sequence processing operators
Instruction sequence is a key concept in practice, but it has as yet not come
prominently into the picture in theoretical circles. This paper concerns
instruction sequences, the behaviours produced by them under execution, the
interaction between these behaviours and components of the execution
environment, and two issues relating to computability theory. Positioning
Turing's result regarding the undecidability of the halting problem as a result
about programs rather than machines, and taking instruction sequences as
programs, we analyse the autosolvability requirement that a program of a
certain kind must solve the halting problem for all programs of that kind. We
present novel results concerning this autosolvability requirement. The analysis
is streamlined by using the notion of a functional unit, which is an abstract
state-based model of a machine. In the case where the behaviours exhibited by a
component of an execution environment can be viewed as the behaviours of a
machine in its different states, the behaviours concerned are completely
determined by a functional unit. The above-mentioned analysis involves
functional units whose possible states represent the possible contents of the
tapes of Turing machines with a particular tape alphabet. We also investigate
functional units whose possible states are the natural numbers. This
investigation yields a novel computability result, viz. the existence of a
universal computable functional unit for natural numbers.Comment: 37 pages; missing equations in table 3 added; combined with
arXiv:0911.1851 [cs.PL] and arXiv:0911.5018 [cs.LO]; introduction and
concluding remarks rewritten; remarks and examples added; minor error in
proof of theorem 4 correcte
Thread algebra for poly-threading
International audienceIt is a fact of life that sequential programs are often fragmented. Consequently, fragmented program behaviours are frequently found. We consider this phenomenon in the setting of thread algebra. We extend basic thread algebra with poly-threading, the barest mechanism for sequencing of threads that are taken for program fragment behaviours. This mechanism is the counterpart of program overlaying at the level of program behaviours. We relate the resulting theory to the process theory known as ACP and use it to describe analytic execution architectures suited for fragmented programs. We also consider the case where the steps of fragmented program behaviours are interleaved in the ways of non-distributed and distributed multi-threading
Qualifications of Instruction Sequence Failures, Faults and Defects: Dormant, Effective, Detected, Temporary, and Permanent
Starting out from the survey of instruction sequence faults from [6] program faults are classified according to the conventional criteria of being dormant, effective, detected, temporary, and permanent. Being retrospectively approved is introduced as an additional qualification. For this theoretical investigation the context is simplified by contemplating instruction sequences as a theoretical model for programs, and by assuming that instruction sequences are supposed to compute total transformations on finite bit sequences of a fixed length only.
The main conclusion which can be drawn from this work concerns the notion of dormancy. First of all it is noticed that the unconventional notion of a dormant failure is both plausible and amenable to a straightforward and convincing definition. The conventional notion of a dormant fault, however, is much harder to grasp and the definition of a dormant fault which is provided in the paper may be disputed.
The notion of a dormant fault seems to admit no convincing intuition. All faults are defects but not the other way around. The idea of a fault exclusively depends on an instruction sequence and a specification of which it is considered to be a candidate implementation. In the presence of a design, however, in addition to faults, the notion of a deviation from design (DFD) defect arises, which constitutes a class of defects many of which are not faults. For DFD defects the notion of dormancy admits a straightforward and convincing definition
Bitcoin and Islamic Finance
It is argued that a Bitcoin-style money-like informational commodity may constitute an effective instrument for the further development of Islamic Finance. The argument involves the following elements: (i) an application of circulation theory to Bitcoin with the objective to establish the implausibility of interest payment in connection with Bitcoin, (ii) viewing a Bitcoin-like system as a money-like exclusively informational commodity with the implication that such a system need not support debt, (iii) the idea that Islamic Finance imposes different requirements compared to conventional financial policies on a money concerning its use as a tool for achieving social and economic objectives, and (iv) identification of two aspects of mining, gambling and lack of trust, that may both be considered problematic from the perspective of compliance with the rules of Islamic Finance and a corresponding proposal to modify the architecture of mining in order to improve compliance with these rules