Improving Variabilty Analysis through Scenario-Based Incompatibility Detection
Abstract
:1. Introduction
2. Previous Work and New Contributions
- In Reference [8], we presented the first version of the SeVaTax process. The main aspects of this version were the SeVaTax model based on collaborative diagrams of UML with annotated variability (in OVM notation), a formalization in CNF, and the definition of 17 validation scenarios considering mismatches and/or anomalies on SeVaTax models. The use of these scenarios allowed to define the set of feasible inconsistencies, anomalies and redundancies present in the variability models, for which solvers provided a response, such as identification, explanation, or even correction when it was possible. In addition, we performed an evaluation by comparing our SeVaTax analysis process against two other approaches in the literature;
- In Reference [9], we presented an extension of the SeVaTax model, named scope operators, in order to include inter-related variability relations together with a proposal for verification (through the definition of more specific validation scenarios). In addition, we performed an evaluation of the impact of these extensions in the performance of our supporting tool;
- In Reference [7], we presented a systematic literature review on analysis of variability models. Specifically, we defined a classification framework, which considers the main activities involved in the (automated) analysis of variability models (Figure 1). The framework was applied to 43 primary studies, drawing strengths and challenges as well as research opportunities.
- Challenge 1: Define the set of basic operations (queries) that the VA process must support. This challenge is related to the queries/validation scenarios that a VA process must be able to understand together with the type of responses generated. Here, we extend the query component of Figure 1 by adding more than ten validation scenarios generating a more comprehensive set of variability evaluation and identification possibilities;
- Challenge 2: Include extended variability primitives together with their specific operations. This challenge proposes the extension of semantic representations in the variability models to describe particularities of specific domains. The extension of variability model representations was previously presented in [9] specifically with the addition of scope operators. However, in this work we focus on the validation of these operators through the definition of new validation scenarios together with correction capabilities;
- Challenge 3: Add more support for error correction. This challenge is related to challenge 1 with respect to the results provided by the proposals. There is a need of more assistance in error correction. Particularly, the specification of more specific validation scenarios provides us with the possibility of identifying the services in the SeVaTax model generating incompatibilities. Thus, we can provide better correction mechanisms;
- Challenge 4: Add more rigorous evaluations. This challenge highlights the need of more rigorous evaluations of the VA process in order to measure quality attributes, such as performance, usability, accuracy, completeness, and so forth. Some of these evaluations have been performed also in the previous works. For example, performance in [9] and a preliminary comparison of completeness in [8]. Here, we extend the evaluations for analyzing accuracy and coverage of the SeVaTax process.
3. Related Work
- Redundancy: proposals can identify whether the same semantic information is modelled redundantly in multiple ways;
- Anomaly: proposals can detect whether some required configurations of variability models are never possible but they should be. Examples of anomalies are the well-known problems analyzed as dead features, conditional dead features, false optional, wrong cardinalities, and so forth [3];
- Inconsistency: proposals can found contradictions represented in the variability models. In general, this happens when the variability models cannot be ever instantiated. For instance, the inconsistency called void feature model includes models that cannot derive any product;
- Specific identification: proposals can identify specific dependencies or features causing some of the previous problems;
- Explanation: once identified, proposals provide a textual explanation about the problem found;
- Correction: proposals can perform an automatic correction or provide suggestions about the corrections needed.
4. Materials and Methods
4.1. SeVaTax Models (Component 1)
- GVP operator: if a is attached to the variation point A in both models, there will be an only one possibility to instantiate it. That is, it will be valid to have instantiations such as Figure 4C or D but not both of them. Only one instantiation will be valid for the whole SPL platform for A;
4.2. Translator (Component 2)
4.3. Validator (Component 3.1) and Results (Component 4)
- Warning (W) : an alert is generated describing a possible problem together with the involved services;
- General Identification (GI) : the services generating the conflict are identified, but it is not possible to identify a specific scenario;
- Specific Identification (SI) : the scenario generating the conflict is identified. The causes of this conflict and the services involved for assisting the solution should be identified;
- Repair (R) : the scenario that generates the conflict is identified and a pre-established solution is applied/suggested. The required action can be modification or elimination.
Configurator (Component 3.2)
4.4. The SeVaTax Web Tool
5. Validating the SeVaTax Process
5.1. Experiment 1: Accuracy
- A.
- Hypotheses Definition
- B.
- Experiment Design
- (i)
- The validator identifies each validation scenario correctly.
- (ii)
- The validator finds some scenarios, but at least one of them is not correctly identified.
- (iii)
- The validator finds an error or problem but cannot identify the scenario.
- (iv)
- The validator cannot identify any scenario.
- C.
- Execution of the experiment and results
5.2. Experiment 2: Coverage
- A.
- Hypotheses Definition
- B.
- Experiment Design
- C.
- Execution of the experiment and results
5.3. Threats to Validity
6. Results
- Challenge 1: Define the set of basic operations (queries) that the VA process must support. Here, we have defined an extensive set of validation scenarios (31 scenarios) including a wide number of incompatibilities, which consider redundancies, anomalies and inconsistencies that can be present in the variability models. These scenarios have been obtained from the literature and from our experiences in the development of two SPLs for the marine ecology [35,36] and paleontology [38] domains. Specifically, from these developments we included the scope operators for reusing variation points and their instantiations. At the same time, we added specific support for each defined scenario, not only for a general identification, but also as a specific description of the services involved; and in the cases in which it is possible, we suggested corrections;
- Challenge 2: Include extended variability primitives together with their specific operations. At this point, as we use the OVM notation together with UML artifacts oriented to functional-based design models, we have extended the variability primitives of these models with scope operators. These operators emerged from an application of the SeVaTax models in GIS systems [37], where we needed ways to relate the same variability points distributed in several variability models. These operators let us to represent the real semantic of the domains;
- Challenge 3: Addition of more support for error correction. The SeVaTax process contains a set of different responses (warnings, identifications, and/or reparations) when analyzing the variability models. As a summary, in Figure 14 we showed the responses generated by SeVaTax with respect to each incompatibility. In Figure 22 we also can see a summary of responses with respect to the severity level (redundancies, anomalies and inconsistencies) of the incompatibility. We can see that our validator repairs 50.5% of redundancies, 30.7% of anomalies, and 22.2% of inconsistencies. The response most regularly generated is the specific identification with 38% of the incompatibilities. The second one is repair (error correction), representing 35% of the incompatibilities;
- Challenge 4: Addition of most rigorous evaluations. Here, we have performed two experiments for validating accuracy and coverage. In the first one, we evaluated the quality of the responses in the SeVaTax process with respect to a manual response and a basic SAT solver. In the second experiment, we evaluated the coverage of the validation scenarios, that is, the capacity of different solvers to detect and respond to specific anomalies, incompatibilities, and redundancies.
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
VA | Variability Analysis |
SPL | Software Product Line |
FM | Feature Models |
OVM | Orthogonal Variability Model |
CVL | Common Variability Language |
CSP | Constraint Satisfaction Problem |
CNF | Conjunctive Normal Form |
DL | Description Logic |
CNF | Conjunctive Normal Form |
TVML | Textual Variability Modeling Languages |
References
- Mazo, R.; Munoz-Fernandez, J.C.; Rincon, L.; Salinesi, C.; Tamura, G. VariaMos: An extensible tool for engineering (dynamic) product lines. In Proceedings of the 19th International Software Product Line Conference, Nashville, TN, USA, 20–24 July 2015; pp. 374–379. [Google Scholar] [CrossRef]
- Wang, H.H.; Li, Y.F.; Sun, J.; Zhang, H.; Pan, J. Verifying feature models using OWL. Web Semant. Sci. Serv. Agents World Wide Web 2007, 5, 117–129. [Google Scholar] [CrossRef]
- Benavides, D.; Segura, S.; Ruiz-Cortés, A. Automated Analysis of Feature Models 20 Years Later: A Literature Review. Inf. Syst. 2010, 35, 615–636. [Google Scholar] [CrossRef] [Green Version]
- Kang, K.; Cohen, S.; Hess, J.; Nowak, W.; Peterson, S. Feature-Oriented Domain Analysis (FODA) Feasibility Study; Technical Report CMU/SEI-90-TR-21; Software Engineering Institute, Carnegie Mellon University: Pittsburgh, PA, USA, 1990. [Google Scholar]
- Pohl, K.; Böckle, G.; Linden, F.J.v.d. Software Product Line Engineering: Foundations, Principles and Techniques; Springer: Secaucus, NJ, USA, 2005. [Google Scholar]
- Haugen, O.; Møller-Pedersen, B.; Oldevik, J.; Olsen, G.K.; Svendsen, A. Adding Standardized Variability to Domain Specific Languages. In Proceedings of the 2008 12th International Software Product Line Conference, 2008, Limerick, Ireland, 8–12 September 2008; pp. 139–148. [Google Scholar] [CrossRef]
- Pol’la, M.; Buccella, A.; Cechich, A. Analysis of variability models: A systematic literature review. Softw. Syst. Model. 2020, 20, 1043–1077. [Google Scholar] [CrossRef]
- Pol’la, M.; Buccella, A.; Cechich, A. Automated Analysis of Variability Models: The SeVaTax Process. In Proceedings of the Computational Science and Its Applications—ICCSA 2018—18th International Conference, Melbourne, Australia, 2–5 July 2018; Part IV. pp. 365–381. [Google Scholar] [CrossRef]
- Pol’la, M.; Buccella, A.; Cechich, A. Using Scope Scenarios to Verify Multiple Variability Models. In Proceedings of the Computational Science and Its Applications—ICCSA 2019—19th International Conference, Saint Petersburg, Russia, 1–4 July 2019; Lecture Notes in Computer Science, Part V. Volume 11623, pp. 383–399. [Google Scholar] [CrossRef]
- Braun, G.A.; Pol’la, M.; Cecchi, L.A.; Buccella, A.; Fillottrani, P.R.; Cechich, A. A DL Semantics for Reasoning over OVM-based Variability Models. In Proceedings of the 30th International Workshop on Description Logics, Montpellier, France, 18–21 July 2017; CEUR Workshop Proceedings. Volume 1879. [Google Scholar]
- Buccella, A.; Pol’la, M.; de Galarreta, E.R.; Cechich, A. Combining Automatic Variability Analysis Tools: An SPL Approach for Building a Framework for Composition. In Proceedings of the Computational Science and Its Applications—ICCSA 2018—18th International Conference, Melbourne, Australia, 2–5 July 2018; Lecture Notes in Computer Science. Volume 10963, pp. 435–451. [Google Scholar] [CrossRef]
- Eichelberger, H.; Schmid, K. A Systematic Analysis of Textual Variability Modeling Languages. In Proceedings of the 17th International Software Product Line Conference; SPLC’13; ACM: New York, NY, USA, 2013; pp. 12–21. [Google Scholar] [CrossRef]
- Lisboa, L.B.; Garcia, V.C.; Lucrédio, D.; de Almeida, E.S.; de Lemos Meira, S.R.; de Mattos Fortes, R.P. A systematic review of domain analysis tools. Inf. Softw. Technol. 2010, 52, 1–13. [Google Scholar] [CrossRef]
- Sree-Kumar, A.; Planas, E.; Clariso, R. Analysis of Feature Models Using Alloy: A Survey. In Proceedings of the 7th International Workshop on Formal Methods and Analysis in Software Product Line Engineering, FMSPLE@ETAPS 2016, Eindhoven, The Netherlands, 3 April 2016; pp. 46–60. [Google Scholar] [CrossRef] [Green Version]
- Jackson, D. Software Abstractions: Logic, Language, and Analysis; The MIT Press: Cambridge, MA, USA, 2006. [Google Scholar]
- Trinidad, P.; Benavides, D.; Cortés, A.R.; Segura, S.; Jimenez, A. FAMA Framework. In Proceedings of the International Software Product Line Conference, Washington, DC, USA, 8–12 September 2008; IEEE Computer Society: New York, NY, USA, 2008; p. 359. [Google Scholar]
- Krieter, S.; Pinnecke, M.; Krüger, J.; Sprey, J.; Sontag, C.; Thüm, T.; Leich, T.; Saake, G. FeatureIDE: Empowering Third-Party Developers. In Proceedings of the 21st International Systems and Software Product Line Conference—Volume B, Sevilla, Spain, 25–29 September 2017; SPLC ’17. ACM: New York, NY, USA, 2017; pp. 42–45. [Google Scholar] [CrossRef]
- Mendonca, M.; Branco, M.; Cowan, D. S.P.L.O.T.: Software Product Lines Online Tools. In Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, Orlando, FL, USA, 25–29 October 2009; pp. 761–762. [Google Scholar] [CrossRef]
- Roos-Frantz, F.; Galindo, J.A.; Benavides, D.; Ruiz-Cortés, A. FaMa-OVM: A tool for the automated analysis of OVMs. In Proceedings of the 6th International Software Product Line Conference—Volume 2, Leicester, UK, 6–11 September 2021; pp. 250–254. [Google Scholar]
- Sinnema, M.; Deelstra, S. Industrial validation of COVAMOF. J. Syst. Softw. 2008, 81, 584–600. [Google Scholar] [CrossRef]
- Dhungana, D.; Tang, C.; Weidenbach, C.; Wischnewski, P. Automated Verification of Interactive Rule-based Configuration Systems. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, Silicon Valley, CA, USA, 11–15 November 2013; ASE’13. IEEE Press: Piscataway, NJ, USA, 2013; pp. 551–561. [Google Scholar] [CrossRef]
- Classen, A.; Boucher, Q.; Heymans, P. A text-based approach to feature modelling: Syntax and semantics of TVL. Sci. Comput. Program. 2011, 76, 1130–1143. [Google Scholar] [CrossRef]
- Metzger, A.; Pohl, K.; Heymans, P.; Schobbens, P.; Saval, G. Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis. In Proceedings of the 15th IEEE International Requirements Engineering Conference (RE 2007), New Delhi, India, 15–19 October 2007; pp. 243–253. [Google Scholar] [CrossRef] [Green Version]
- Cuenca, G.B.; Horrocks, I.; Motik, B.; Bijan, P.; Patel-Schneider, P.; Sattler, U. OWL 2: The Next Step for OWL. Web Semant. 2008, 6, 309–322. [Google Scholar]
- Rincón, L.; Giraldo, G.; Mazo, R.; Salinesi, C. An Ontological Rule-Based Approach for Analyzing Dead and False Optional Features in Feature Models. Electron. Notes Theor. Comput. Sci. 2014, 302, 111–132. [Google Scholar] [CrossRef] [Green Version]
- Langermeier, M.; Rosina, P.; Oberkampf, H.; Driessen, T.; Bauer, B. Management of Variability in Modular Ontology Development. In Service-Oriented Computing—ICSOC Workshops; Lomuscio, A., Nepal, S., Patrizi, F., Benatallah, B., Brandić, I., Eds.; Springer International Publishing: Cham, Switzerland, 2014; pp. 225–239. [Google Scholar]
- Afriyanti, I.; Falakh, F.; Azurat, A.; Takwa, B. Feature Model-to-Ontology for SPL Application Realisation. arXiv 2017, arXiv:1707.02511. [Google Scholar]
- Von Der Massen, T.; Lichter, H. Deficiencies in Feature Models. Available online: http://www.soberit.hut.fi/SPLC-WS/AcceptedPapers/Massen.pdf (accessed on 21 December 2021).
- Nakajima, S. Semi-automated Diagnosis of FODA Feature Diagram. In Proceedings of the 2010 ACM Symposium on Applied Computing, Sierre, Switzerland, 22–26 March 2010; SAC ’10. ACM: New York, NY, USA, 2010; pp. 2191–2197. [Google Scholar] [CrossRef]
- Wang, B.; Xiong, Y.; Hu, Z.; Zhao, H.; Zhang, W.; Mei, H. Interactive Inconsistency Fixing in Feature Modeling. J. Comput. Sci. Technol. 2014, 29, 724–736. [Google Scholar] [CrossRef]
- Bilic, D.; Carlson, J.; Sundmark, D.; Afzal, W.; Wallin, P. Detecting Inconsistencies in Annotated Product Line Models. In Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A, SPLC ’20, Montreal, QC, Canada, 19–23 October 2020; Association for Computing Machinery: New York, NY, USA, 2020. [Google Scholar]
- Horcas, J.M.; Galindo, J.A.; Heradio, R.; Fernandez-Amoros, D.; Benavides, D. Monte Carlo Tree Search for Feature Model Analyses: A General Framework for Decision-Making. In Proceedings of the 25th ACM International Systems and Software Product Line Conference—Volume A, Leicester, UK, 6–11 September 2021; Association for Computing Machinery: New York, NY, USA, 2021; pp. 190–201. [Google Scholar]
- Beek, M.H.t.; Mazzanti, F.; Damiani, F.; Paolini, L.; Scarso, G.; Lienhardt, M. Static Analysis and Family-Based Model Checking with VMC. In Proceedings of the 25th ACM International Systems and Software Product Line Conference—Volume A, Leicester, UK, 6–11 September 2021; Association for Computing Machinery: New York, NY, USA, 2021; p. 214. [Google Scholar]
- Fu, M.C. Monte Carlo tree search: A tutorial. In Proceedings of the 2018 Winter Simulation Conference (WSC), Gothenburg, Sweden, 9–12 December 2018; pp. 222–236. [Google Scholar] [CrossRef]
- Buccella, A.; Cechich, A.; Arias, M.; Pol’la, M.; del Socorro Doldan, M.; Morsan, E. Towards systematic software reuse of GIS: Insights from a case study. Comput. Geosci. 2013, 54, 9–20. [Google Scholar] [CrossRef]
- Buccella, A.; Cechich, A.; Pol’la, M.; Arias, M.; Doldan, S.; Morsan, E. Marine Ecology Service Reuse through Taxonomy-Oriented SPL Development. Comput. Geosci. 2014, 73, 108–121. [Google Scholar] [CrossRef]
- Brisaboa, N.R.; Cortiñas, A.; Luaces, M.; Pol’la, M. A Reusable Software Architecture for Geographic Information Systems Based on Software Product Line Engineering. In Model and Data Engineering; Bellatreche, L., Manolopoulos, Y., Eds.; Springer International Publishing: Cham, Switzerland, 2015; pp. 320–331. [Google Scholar]
- Buccella, A.; Cechich, A.; Porfiri, J.; Diniz Dos Santos, D. Taxonomy-Oriented Domain Analysis of GIS: A Case Study for Paleontological Software Systems. ISPRS Int. J. Geo-Inf. 2019, 8, 270. [Google Scholar] [CrossRef] [Green Version]
- Wohlin, C.; Runeson, P.; Höst, M.; Ohlsson, M.C.; Regnell, B.; Wesslén, A. Experimentation in Software Engineering: An Introduction; Kluwer Academic Publishers: Norwell, MA, USA, 2000. [Google Scholar]
- Wohlin, C.; Runeson, P.; Hst, M.; Ohlsson, M.C.; Regnell, B.; Wessln, A. Experimentation in Software Engineering; Springer International Publishing: New York, NY, USA, 2012. [Google Scholar]
Interactions | JSON Property | Graphical Notation |
---|---|---|
Mandatory variation point | ||
Optional variation point | ||
Alternative variation point | ||
Variant variation point | ||
Use | ||
Requires | ||
Excludes | ||
Global variation point | ||
Specific variation point |
Id | FD2 |
Name | Add New Excavations |
Domain | Palentology subdomain |
Services | MMS-FA1.6, HI-LM1.31, PS-T4.20, HI-SLD2.3, … |
Variability Models |
SeVaTax Model | Logic Model | CNF Translation | CNF Numeric Translation |
---|---|---|---|
−2 3 0 | |||
−3 4 0 | |||
−3 5 0 | |||
−5 7 8 9 0 | |||
−5 7 −8 −9 0 | |||
−5 −7 8 −9 0 | |||
−5 −7 −8 9 0 | |||
−7 −8 0 | |||
−8 −9 0 | |||
−9 −7 0 | |||
−4 6 0 | |||
−6 3 0 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Buccella, A.; Pol’la, M.; Cechich, A. Improving Variabilty Analysis through Scenario-Based Incompatibility Detection. Information 2022, 13, 149. https://doi.org/10.3390/info13030149
Buccella A, Pol’la M, Cechich A. Improving Variabilty Analysis through Scenario-Based Incompatibility Detection. Information. 2022; 13(3):149. https://doi.org/10.3390/info13030149
Chicago/Turabian StyleBuccella, Agustina, Matías Pol’la, and Alejandra Cechich. 2022. "Improving Variabilty Analysis through Scenario-Based Incompatibility Detection" Information 13, no. 3: 149. https://doi.org/10.3390/info13030149