Automatic Extraction of Features and Generation of Feature Models from Java Programs

Authors

  • Robertas Damaševičius Kaunas University of Technology
  • Paulius Paškevičius Kaunas University of Technology
  • Eimutis Karčiauskas Kaunas University of Technology
  • Romas Marcinkevičius Kaunas University of Technology

DOI:

https://doi.org/10.5755/j01.itc.41.4.1108

Keywords:

program analysis, reverse engineering, feature model, model generation

Abstract

Feature modelling is a key technique for identifying common and variable features in software (software families). The result of feature modelling is a feature model: a concise specification of product features and their relationships. Feature models have been proven to be useful for software variability modelling and management. However, there is a wide gap between feature models and program source code. Here we focus on reverse engineering of source code to feature models. We present a framework for the automated derivation of feature models from the existing software artefacts (components, libraries, etc.), which includes a formal description of a feature model, a program-feature relation meta-model, and a method for feature model generation based on feature dependency extraction and clustering. Feature models are generated in FDL or Prolog.

DOI: http://dx.doi.org/10.5755/j01.itc.41.4.1108

Downloads

Published

2012-10-30

Issue

Section

Articles