Developer Tools

Bruzzone et al. propose generalized protocol for workbench-agnostic SPL extraction

A new protocol frees software product line extraction from specific IDEs and languages

Deep Dive

Researchers Federico Bruzzone, Walter Cazzola, and Luca Favalli have published a paper on arXiv proposing a generalized protocol for extracting software product line (SPL) feature models from existing code artifacts. Current SPL extraction methods are tightly coupled to specific programming languages, composers, and IDEs, making reuse and evolution across heterogeneous environments difficult. The team's solution separates extraction into a workbench-independent SPL server and a client with a generic frontend and workbench-specific backend.

The protocol uses lightweight dependency units called 'atoms' to bottom-up build feature models. A prototypical implementation demonstrates the architecture with multiple interchangeable subsystems: Neverlang language artifacts for language product lines (LPLs), a Java SPL client backend, a Go and Prolog agnostic SPL server, and a JavaScript client frontend. The design makes few assumptions about the underlying software, enabling broad applicability while preserving workbench-agnosticism. This could significantly streamline the adoption of SPL engineering across diverse development environments.

Key Points
  • Protocol uses lightweight dependency units ('atoms') for bottom-up feature model extraction from existing software artifacts
  • Architecture separates concerns into an SPL server (Go/Prolog) and client with workbench-specific backends (Java) and generic frontends (JavaScript)
  • Demonstrated on language product lines using Neverlang, but designed to be applicable to varied SPLs regardless of programming language or IDE

Why It Matters

Enables flexible SPL extraction across heterogeneous environments, reducing lock-in and simplifying reuse for software engineering teams.