Abstract
Describing software runtime behaviour in terms of its invariant
properties has gained increasing popularity and various tools and
techniques to help in working with these invariants have been published.
These typically take a specific view on the possible and supported
properties. In many cases it is also useful to view these in a wider
context to enable a deeper understanding of possible invariance and to
provide more extensive support across different domains. This paper aims
to identify different aspects of the runtime invariance based on a
review of existing works, and to present these results in a taxonomy
that positions the different aspects in relation to each other. The goal
is to provide support for their use in practice and to help identify
possible research directions. A systematic review has been performed to
identify relevant works in the literature. From these, a set of relevant
properties have been collected to form the taxonomy. The resulting
taxonomy has been structured to describe the different properties of
runtime invariance. One main axis gives an overview of usage domains.
One describes process related properties that are further classified to
specification and evaluation related properties. A third main axis
describes properties of runtime invariance itself and is further
classified to properties of measurements, patterns and scope. It is
concluded that the taxonomy provides a representation of different
properties of runtime invariance used in current works. It can be used
as a basis for modelling and reasoning about software runtime behaviour
generally or as a basis for specialization in different domains.
Original language | English |
---|---|
Pages (from-to) | 256-274 |
Number of pages | 19 |
Journal | International Journal on Advances in Software |
Volume | 4 |
Issue number | 3-4 |
Publication status | Published - 2011 |
MoE publication type | A1 Journal article-refereed |