TY - GEN
T1 - Variability-aware Behavioural Learning
AU - Fortz, Sophie
N1 - Funding Information:
Sophie Fortz is supported by the FNRS via a FRIA grant.
Publisher Copyright:
© 2023 ACM.
PY - 2023/8/28
Y1 - 2023/8/28
N2 - Addressing variability proactively during software engineering activities means shifting from reasoning on individual systems to reasoning on families of systems. Adopting appropriate variability management techniques can yield important economies of scale and quality improvements. Conversely, variability can also be a curse, especially for Quality Assurance (QA), i.e., verification and testing of such systems, due to the combinatorial explosion of the number of software variants. Featured Transition Systems (FTSs) were introduced as a way to represent and reason about the behaviour of Variaility-intensive Systems (VISs). By labelling a transition system with feature expressions, FTSs capture multiple variants of a system in a single model, enabling reasoning at the family level. They have shown significant improvements in automated QA activities such as model-checking and model-based testing, as well as guiding design exploration activities. Yet, as most model-based approaches, FTS modelling requires both strong human expertise and significant effort that would be unaffordable in many cases, in particular for large legacy systems with outdated specifications and/or systems that evolve continuously. Therefore, this PhD project aims to automatically learn FTSs from existing artefacts, to ease the burden of modelling FTS and support continuous QA activities. To answer this research challenge, we propose a two-phase approach. First, we rely on deep learning techniques to locate variability from execution traces. For this purpose, we implemented a tool called VaryMinions. Then, we use these annotated traces to learn an FTS. In this second part, we adapt the seminal L algorithm to learn behavioural variability. Both frameworks are open-source and we evaluated them separately on several datasets of different sizes and origins (e.g., software product lines and configurable business processes).
AB - Addressing variability proactively during software engineering activities means shifting from reasoning on individual systems to reasoning on families of systems. Adopting appropriate variability management techniques can yield important economies of scale and quality improvements. Conversely, variability can also be a curse, especially for Quality Assurance (QA), i.e., verification and testing of such systems, due to the combinatorial explosion of the number of software variants. Featured Transition Systems (FTSs) were introduced as a way to represent and reason about the behaviour of Variaility-intensive Systems (VISs). By labelling a transition system with feature expressions, FTSs capture multiple variants of a system in a single model, enabling reasoning at the family level. They have shown significant improvements in automated QA activities such as model-checking and model-based testing, as well as guiding design exploration activities. Yet, as most model-based approaches, FTS modelling requires both strong human expertise and significant effort that would be unaffordable in many cases, in particular for large legacy systems with outdated specifications and/or systems that evolve continuously. Therefore, this PhD project aims to automatically learn FTSs from existing artefacts, to ease the burden of modelling FTS and support continuous QA activities. To answer this research challenge, we propose a two-phase approach. First, we rely on deep learning techniques to locate variability from execution traces. For this purpose, we implemented a tool called VaryMinions. Then, we use these annotated traces to learn an FTS. In this second part, we adapt the seminal L algorithm to learn behavioural variability. Both frameworks are open-source and we evaluated them separately on several datasets of different sizes and origins (e.g., software product lines and configurable business processes).
KW - Active Automata Learning
KW - Featured Transition Systems
KW - Reverse Engineering
KW - Software Product Lines
KW - Variability Mining
UR - http://www.scopus.com/inward/record.url?scp=85175988484&partnerID=8YFLogxK
U2 - 10.1145/3579028.3609007
DO - 10.1145/3579028.3609007
M3 - Conference contribution
VL - B
T3 - Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B
SP - 11
EP - 15
BT - 27th ACM International Systems and Software Product Line Conference, SPLC 2023 - Proceedings
A2 - Arcaini, Paolo
A2 - ter Beek, Maurice H.
A2 - Perrouin, Gilles
A2 - Reinhartz-Berger, Iris
A2 - Machado, Ivan
A2 - Vergilio, Silvia Regina
A2 - Rabiser, Rick
A2 - Yue, Tao
A2 - Devroey, Xavier
A2 - Pinto, Monica
A2 - Washizaki, Hironori
PB - ACM Press
ER -