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.
|Number of pages||19|
|Journal||International Journal on Advances in Software|
|Publication status||Published - 2011|
|MoE publication type||A1 Journal article-refereed|