Abstract

In a Software Product Line (SPL), the central notion of implementability provides the requisite connection between specifications and their implementations, leading to the definition of products. While it appears to be a simple extension of the traceability relation between components and features, it involves several subtle issues that were overlooked in the existing literature. In this paper, we have introduced a precise and formal definition of implementability over a fairly expressive traceability relation. The consequent definition of products in the given SPL naturally entails a set of useful analysis problems that are either refinements of known problems or are completely novel. We also propose a new approach to solve these analysis problems by encoding them as Quantified Boolean Formulae (QBF) and solving them through Quantified Satisfiability (QSAT) solvers. QBF can represent more complex analysis operations, which cannot be represented by using propositional formulae. The methodology scales much better than the SAT-based solutions hinted in the literature and were demonstrated through a tool called SPLAnE (SPL Analysis Engine) on a large set of SPL models.

Highlights

  • Software Product Line Engineering (SPLE) is a software development paradigm supporting the joint design of closely-related software products in an efficient and cost-effective manner

  • One could be interested in checking whether every product in the problem space has a correspondence in the solution space, i.e., every product represented in the feature model can be implemented using the existing assets considering the implementability relation

  • The remainder of the paper is organized as follows: Section 2 shows a motivating scenario for using SPLAnE ; Section 3 presents the tool SPLAnE, which is implemented based on the proposed approach; Section 4 describes different analysis operations to extract information by using the SPLAnE tool; Section 5 analyzes empirical results from experiments that evaluate the scalability of SPLAnE ; Section 6 compares our approach to related work; and Section 8 presents concluding remarks

Read more

Summary

Introduction

Software Product Line Engineering (SPLE) is a software development paradigm supporting the joint design of closely-related software products in an efficient and cost-effective manner. One could be interested in checking whether every product in the problem space has a correspondence in the solution space, i.e., every product represented in the feature model can be implemented using the existing assets considering the implementability relation. A number of new analysis problems, useful for relating the features and core assets in an SPL, are described. The remainder of the paper is organized as follows: Section 2 shows a motivating scenario for using SPLAnE ; Section 3 presents the tool SPLAnE , which is implemented based on the proposed approach; Section 4 describes different analysis operations to extract information by using the SPLAnE tool; Section 5 analyzes empirical results from experiments that evaluate the scalability of SPLAnE ; Section 6 compares our approach to related work; and Section 8 presents concluding remarks

Motivating Example
Specification and Implementation
Traceability
The Implements Relation
SPL Model Verification
Complete and Sound SPL
Product Optimization
SPL Optimization
Generalization and Specialization in SPL
Validation
SPLAnE
Experimentation
Experiment 1
Experiment 2
Experiment 3
Experiment 4
Experiment 5
Threats to Validity
Related Work
Future Work
Findings
Conclusions
Full Text
Paper version not known

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.