Software assumptions failure tolerance: role, strategies, and visions

  • Authors:
  • Vincenzo De Florio

  • Affiliations:
  • University of Antwerp, Department of Mathematics and Computer Science, Performance Analysis of Telecommunication Systems group, Antwerp, Belgium and Interdisciplinary Institute for Broadband Techn ...

  • Venue:
  • Architecting dependable systems VII
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

At our behest or otherwise, while our software is being executed, a huge variety of design assumptions is continuously matched with the truth of the current condition. While standards and tools exist to express and verify some of these assumptions, in practice most of them end up being either sifted off or hidden between the lines of our codes. Across the system layers, a complex and at times obscure web of assumptions determines the quality of the match of our software with its deployment platforms and run-time environments. Our position is that it becomes increasingly important being able to design software systems with architectural and structuring techniques that allow software to be decomposed to reduce its complexity, but without hiding in the process vital hypotheses and assumptions. In this paper we discuss this problem, introduce three potentially dangerous consequences of its denial, and propose three strategies to facilitate their treatment. Finally we propose our vision towards a new holistic approach to software development to overcome the shortcomings offered by fragmented views to the problem of assumption failures.