Abstract
Variability analysis is an essential activity that supports increasing and systemizing reuse across similar software products. Current studies use different types of artifacts for analyzing variability, most notably are architecture or design, requirements, and code. While architecture, design, and code help understand and model the differences in solutions and realizations, requirements enable capturing differences in a higher level of abstraction through the intended use of the software products or their behavior. However, analyzing variability based on requirements may result in inaccurate outcomes, due to the informal and incomplete nature of requirements. To tackle this deficiency, we call for augmenting requirements-based variability analysis with other behavior-related cross-lifecycle artifacts. Particularly, we extend an approach that compares and analyzes software behaviors based on requirements taking into account both ontological and semantic considerations. Using test cases and their relations to requirements, our extension, named SOVA R-TC, extract software behaviors more comprehensively, including their preconditions, post-conditions, and expected results. The outputs of SOVA R-TC are feature diagrams, which group similar behaviors and present variability of software products in a tree structure. Empirically evaluating outcomes of SOVA R-TC, they seem to be perceived as significantly better than outcomes generated based on requirements only.
Original language | English |
---|---|
Pages (from-to) | 208-230 |
Number of pages | 23 |
Journal | Journal of Systems and Software |
Volume | 143 |
DOIs | |
State | Published - Sep 2018 |
Bibliographical note
Publisher Copyright:© 2018 Elsevier Inc.
Keywords
- Application lifecycle management
- Ontology
- Software product lines
- Software reuse
- Variability analysis
ASJC Scopus subject areas
- Software
- Information Systems
- Hardware and Architecture