Modeling features at runtime

  • Authors:
  • Marcus Denker;Jorge Ressia;Orla Greevy;Oscar Nierstrasz

  • Affiliations:
  • INRIA Lille Nord Europe, CNRS UMR, University of Lille;Software Composition Group, University of Bern, Switzerland;Sw-eng. Software Engineering GmbH Berne, Switzerland;Software Composition Group, University of Bern, Switzerland

  • Venue:
  • MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

A feature represents a functional requirement fulfilled by a system. Since many maintenance tasks are expressed in terms of features, it is important to establish the correspondence between a feature and its implementation in source code. Traditional approaches to establish this correspondence exercise features to generate a trace of runtime events, which is then processed by post-mortem analysis. These approaches typically generate large amounts of data to analyze. Due to their static nature, these approaches do not support incremental and interactive analysis of features. We propose a radically different approach called live feature analysis, which provides a model at runtime of features. Our approach analyzes features on a running system and also makes it possible to "grow" feature representations by exercising different scenarios of the same feature, and identifies execution elements even to the sub-method level. We describe how live feature analysis is implemented effectively by annotating structural representations of code based on abstract syntax trees. We illustrate our live analysis with a case study where we achieve a more complete feature representation by exercising and merging variants of feature behavior and demonstrate the efficiency or our technique with benchmarks.