Evolution, adaptation, and the quest for incrementality

  • Authors:
  • Carlo Ghezzi

  • Affiliations:
  • Dipartimento di Elettronica e Informazione, DeepSE Group, Politecnico di Milano, Milano, MI, Italy

  • Venue:
  • Proceedings of the 17th Monterey conference on Large-Scale Complex IT Systems: development, operation and management
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software is constantly evolving. Evolution becomes necessary to respond to changes that may occur in the requirements and/or in the environment in which it is embedded. A consequence of changes is that several activities (such as analysis, verification, code generation, deployment) need to be redone, over and over. This paper focuses on verification. Incrementality comes into play because often changes are local to restricted parts. In order to save time, it would be beneficial if instead of redoing activities from scratch after each change, the results of previous processing may be reused and composed with the results of processing restricted portions of the changed software. Incrementality becomes even more necessary when changes occur at runtime and the software itself is responsible for reacting in a self-managed manner. In this setting, the processing that needs to be performed after each change is subject to severe time constraints. The paper is a position statement on incrementality in the context of self-adaptive systems. It starts by motivating the need for incrementality and then reviews three main approaches to incremental verification that have been proposed earlier, compares their potential, and outlines promising research directions.