Abstract

Software product line engineering is a promising paradigm for developing software intensive systems. Among their proven benefits are reduced time to market, better asset reuse and improved software quality. To achieve this, the collection of products of the product line are specified by means of product line models. Feature Models (FMs) are a common notation to represent product lines that express the set of feature combinations that software products can have. Experience shows that these models can have defects. Defects in FMs be inherited to the products configured from these models. Consequently, defects must be early identified and corrected. Several works reported in scientific literature, deal with identification of defects in FMs. However, only few of these proposals are able to explain how to fix defects, and only some corrections are suggested. This paper proposes a new method to detect all possible corrections from a defective product line model. The originality of the contribution is that corrections can be found when the method systematically eliminates dependencies from the FMs. The proposed method was applied on 78 distinct FMs with sizes up to 120 dependencies. Evaluation indicates that the method proposed in this paper scale up, is accurate, and sometimes useful in real scenarios.

Highlights

  • Product line engineering is a promising production approach used to manage in an efficient way a set of products that belong to a particular domain and have common and variable elements

  • High quality feature models (FMs) are essential to take full advantage of the benefits provided by product lines

  • We presented a novel method that allows no only identifying semantic defects in FMs, and the corrections for each defect

Read more

Summary

Introduction

Product line engineering is a promising production approach used to manage in an efficient way a set of products that belong to a particular domain and have common and variable elements. Only a few of these proposals are able to explain how to fix defects, and these approaches only find some of the possible corrections [25, 39, 40, 42, 44] This means that once defects are found in a FM, it is necessary to manually inspect the model to detect available corrections.

Feature models
Semantics defects in feature models
Running example
Constraint programming
Proposal
Implementation
Preliminary Evaluation
Accuracy
Performance
Related works
Findings
Conclusions and future works
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call