ABSTRACT
Mapping behaviours to the features they relate to is a prerequisite for variability-intensive systems (VIS) reverse engineering. Manually providing this whole mapping is labour-intensive. In black-box scenarios, only execution traces are available (e.g., process mining). In our previous work, we successfully experimented with variant-based mapping using supervised machine learning (ML) to identify the variants responsible of the production of a given execution trace, and demonstrated that recurrent neural networks (RNNs) work well (≥ 80% accuracy) when trained on datasets in which we label execution traces with variants. However, this mapping (i) may not scale to large VIS because of combinatorial explosion and (ii) makes the internal ML representation hard to understand. In this short paper, we discuss the design of a novel approach: feature-based mapping learning.
- Sven Apel, Don S. Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines - Concepts and Implementation. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37521-7Google ScholarCross Ref
- Wesley Klewerton Guez Assunção, Roberto Erick Lopez-Herrejon, Lukas Linsbauer, Silvia Regina Vergilio, and Alexander Egyed. 2017. Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering 22 (2017), 2972–3016.Google ScholarDigital Library
- Johanna Buchner and Marian Daun. 2016. Automated inconsistency detection and solution proposals in cyber-physical system networks. In 2016 3rd International Workshop on Emerging Ideas and Trends in Engineering of Cyber-Physical Systems (EITEC). IEEE, Manhattan, USA, 35–40. https://doi.org/10.1109/EITEC.2016.7503694Google ScholarCross Ref
- Sophie Fortz, Paul Temple, Xavier Devroey, Patrick Heymans, and Gilles Perrouin. 2021. VaryMinions: leveraging RNNs to identify variants in event logs. In Proceedings of the 5th International Workshop on Machine Learning Techniques for Software Quality Evolution, Athens, Greece, 23 August 2021, Apostolos Ampatzoglou, Daniel Feitosa, Gemma Catolino, and Valentina Lenarduzzi (Eds.). ACM, New York, NY, USA, 13–18. https://doi.org/10.1145/3472674.3473980Google ScholarDigital Library
- Sophie Fortz, Paul Temple, Xavier Devroey, Patrick Heymans, and Gilles Perrouin. 2022. VaryMinions. https://zenodo.org/record/7492126. https://doi.org/10.5281/zenodo.7492126 Sophie Fortz is supported by the FNRS via a FRIA grant. Gilles Perrouin is an FNRS Research Associate..Google ScholarCross Ref
- Patrick Franz, Thorsten Berger, Ibrahim Fayaz, Sarah Nadi, and Evgeny Groshev. 2021. Configfix: interactive configuration conflict resolution for the linux kernel. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP). IEEE, Manhattan, USA, 91–100.Google ScholarDigital Library
- Axel Halin, Alexandre Nuttinck, Mathieu Acher, Xavier Devroey, Gilles Perrouin, and Benoit Baudry. 2019. Test them all, is it worth it? Assessing configuration sampling on the JHipster Web development stack. Empir. Softw. Eng. 24, 2 (2019), 674–717. https://doi.org/10.1007/s10664-018-9635-4Google ScholarDigital Library
- Azadeh Jahanbanifar, Ferhat Khendek, and Maria Toeroe. 2021. Configuration of Complex Systems—Maintaining Consistency at Runtime. In Implicit and Explicit Semantics Integration in Proof-Based Developments of Discrete Systems: Communications of NII Shonan Meetings. Springer, Berlin, Heidelberg, 199–224.Google ScholarCross Ref
- Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag, Berlin, Heidelberg.Google ScholarDigital Library
- Marcello La Rosa, Wil MP Van Der Aalst, Marlon Dumas, and Fredrik P Milani. 2017. Business process variability modeling: A survey. Comput. Surveys 50, 1 (2017), 1–45. https://doi.org/10.1145/3041957Google ScholarDigital Library
- Paul Temple and Gilles Perrouin. 2023. Explicit or Implicit? On Feature Engineering for ML-Based Variability-Intensive Systems. In Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems (Odense, Denmark) (VaMoS ’23). Association for Computing Machinery, New York, NY, USA, 91–93. https://doi.org/10.1145/3571788.3571804Google ScholarDigital Library
- Paul Temple, Gilles Perrouin, Mathieu Acher, Battista Biggio, Jean-Marc Jézéquel, and Fabio Roli. 2021. Empirical assessment of generating adversarial configurations for software product lines. Empirical Software Engineering 26, 1 (2021), 6. https://doi.org/10.1007/s10664-020-09915-7Google ScholarDigital Library
- Alexander von Rhein, Sven Apel, Christian Kästner, Thomas Thüm, and Ina Schaefer. 2013. The PLA Model: On the Combination of Product-Line Analyses. In Proceedings of the 7th International Workshop on Variability Modelling of Software-Intensive Systems (Pisa, Italy) (VaMoS ’13). Association for Computing Machinery, New York, NY, USA, Article 14, 8 pages. https://doi.org/10.1145/2430502.2430522Google ScholarDigital Library
- Yingfei Xiong, Hansheng Zhang, Arnaud Hubaux, Steven She, Jie Wang, and Krzysztof Czarnecki. 2014. Range fixes: Interactive error resolution for software configuration. Ieee transactions on software engineering 41, 6 (2014), 603–619.Google Scholar
Index Terms
- Towards Feature-based ML-enabled Behaviour Location
Recommendations
Explicit or Implicit? On Feature Engineering for ML-based Variability-intensive Systems
VaMoS '23: Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive SystemsSoftware variability engineering benefits from Machine Learning (ML) to learn e.g., variability-aware performance models, explore variants of interest and minimize their energy impact. As the number of applications of combining variability with ML ...
Ml-rbf: RBF Neural Networks for Multi-Label Learning
Multi-label learning deals with the problem where each instance is associated with multiple labels simultaneously. The task of this learning paradigm is to predict the label set for each unseen instance, through analyzing training instances with known ...
ML-KNN: A lazy learning approach to multi-label learning
Multi-label learning originated from the investigation of text categorization problem, where each document may belong to several predefined topics simultaneously. In multi-label learning, the training set is composed of instances each associated with a ...
Comments