Cross lifecycle variability analysis: Utilizing requirements and testing artifacts

Michal Steinberger, Iris Reinhartz-Berger, Amir Tomer

Research output: Contribution to journalArticlepeer-review

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 languageEnglish
Pages (from-to)208-230
Number of pages23
JournalJournal of Systems and Software
Volume143
DOIs
StatePublished - 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

Fingerprint

Dive into the research topics of 'Cross lifecycle variability analysis: Utilizing requirements and testing artifacts'. Together they form a unique fingerprint.

Cite this