Towards correct-by-construction product variants of a software product line: GFML, a formal language for feature modules
Thi-Kim-Zung Pham, Catherine Dubois, Nicole Levy

TL;DR
This paper introduces GFML, a formal language for feature modules in software product lines, enabling automatic generation and correctness proof of product variants through composition and compilation into FoCaLiZe.
Contribution
The paper presents GFML, a novel formal language for feature modules that supports reuse, composition, and automatic correctness verification of software product variants.
Findings
GFML allows writing reusable feature modules with specifications, code, and proofs.
Modules can be composed to generate new product variants.
GFML modules compile into FoCaLiZe for formal verification.
Abstract
Software Product Line Engineering (SPLE) is a software engineering paradigm that focuses on reuse and variability. Although feature-oriented programming (FOP) can implement software product line efficiently, we still need a method to generate and prove correctness of all product variants more efficiently and automatically. In this context, we propose to manipulate feature modules which contain three kinds of artifacts: specification, code and correctness proof. We depict a methodology and a platform that help the user to automatically produce correct-by-construction product variants from the related feature modules. As a first step of this project, we begin by proposing a language, GFML, allowing the developer to write such feature modules. This language is designed so that the artifacts can be easily reused and composed. GFML files contain the different artifacts mentioned above.The…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
