What is SOVA?

To increase and systematize reuse, software variability needs to be analyzed and understood. Different software artifacts, including requirements, design models, test cases, and code, can be used to identify common and variable features. Many of these artifact are textual. Employing only semantic text similarity techniques might be limited in analyzing the variability of the expected behaviors of software products as perceived from an external point of view. Such a view is important when reaching different reuse decisions, such as e.g., when conducting feasibility studies, estimating software development efforts, or adopting Software Product Line Engineering (SPLE) approach.

SOVA - Semantic and Ontological Variability Analysis - promotes combining semantic and ontological considerations. To compare software behaviors, the approach applies an ontological view of dynamic aspects of systems, namely, considers the behavior it represents in the application (“business”) domain. Taking an external point of view, behavior is described in terms of the initial state of the system before the behavior occurs, the external events that trigger the behavior, and the final state of the system after the behavior occurs. Semantic metrics are used to evaluate the similarity of related behavioral elements and analyze their variability.