Improving quality of software product line by analysing inconsistencies in feature models using an ontological rule-based approach
Corresponding Author
Megha Bhushan
CSED, Thapar University, Patiala, Punjab, India
Correspondence
Megha Bhushan, CSED, Thapar University, Patiala, Punjab, India.
Email: [email protected]
Search for more papers by this authorShivani Goel
Department of Computer Science Engineering, School of Engineering and Applied Sciences, Bennett University, Greater Noida, U.P., India
Search for more papers by this authorCorresponding Author
Megha Bhushan
CSED, Thapar University, Patiala, Punjab, India
Correspondence
Megha Bhushan, CSED, Thapar University, Patiala, Punjab, India.
Email: [email protected]
Search for more papers by this authorShivani Goel
Department of Computer Science Engineering, School of Engineering and Applied Sciences, Bennett University, Greater Noida, U.P., India
Search for more papers by this authorAbstract
In software product line engineering, feature models (FMs) represent the variability and commonality of a family of software products. The development of FMs may introduce inaccurate feature relationships. These relationships may cause various types of defects such as inconsistencies, which deteriorate the quality of software products. Several researchers have worked on the identification of defects due to inconsistency in FMs, but only a few of them have explained their causes. In this paper, FM is transformed to predicate-based feature model ontology using Prolog. Further, first-order logic is employed for defining rules to identify defects due to inconsistency, the explanations for their causes, and suggestions for their corrections. The proposed approach is explained using an FM available in Software Product Line Online Tools repository. It is validated using 26 FMs of discrete sizes up to 5,543 features, generated using the FeatureIDE tool and real-world FMs. Results indicate that the proposed methodology is effective, accurate, and scalable and improves software product line.
CONFLICT OF INTEREST
The authors declare that there is no conflict of interest regarding the publication of this manuscript.
REFERENCES
- Abo, L., Houben, G., De Troyer, O., & Kleinermann, F. (2008). An OWL-based approach for integration in collaborative feature modelling. In Proceedings of the 4th Workshop on Semantic Web Enabled Software Engineering (SWESE2008), Germany.
- Afzal, U., Mahmood, T., Rauf, I., & Shaikh, Z. A. (2014). Minimizing feature model inconsistencies in software product lines. In Proceedings of the Multi-Topic Conference (INMIC), 2014 IEEE 17th International, IEEE, 137–142. https://doi.org/10.1109/INMIC.2014.7097326
- Al Balushi, T. H., Sampaio, P. R. F., & Loucopoulos, P. (2013). Eliciting and prioritizing quality requirements supported by ontologies: A case study using the ElicitO framework and tool. Expert Systems, 30(2), 129–151. https://doi.org/10.1111/j.1468-0394.2012.00625.x
- Àlvez, J., Lucio, P., & Rigau, G. (2012). Adimen-SUMO: Reengineering an ontology for first-order reasoning. Journal on Semantic Web and Information Systems, 8(4), 80–116. https://doi.org/10.4018/jswis.2012100105
- Ardis, M., Daley, N., Hoffman, D., Siy, H., & Weiss, D. (2000). Software product lines: A case study. Software-Practice and Experience, 30(7), 825–847. https://doi.org/10.1002/(SICI)1097-024X(200006)30:7%3C825::AID-SPE322%3E3.0.CO;2-1
- Asadi, M., Gröner, G., Mohabbati, B., & Gašević, D. (2014). Goal-oriented modeling and verification of feature-oriented product lines. Software & Systems Modeling, 15, 257–279. https://doi.org/10.1007/s10270-014-04028
- Baumgartner, P., & Suchanek, F.M. (2006). Automated reasoning support for first-order ontologies. In Proceedings of the International Workshop on Principles and practice of semantic web reasoning, Springer Berlin Heidelberg, 18–32.
- Berardi, D., Grüninger, M., Hull, R., & Mcilraith, S. (2004). Towards a first-order ontology for semantic web services. In Proceedings of the W3C Workshop on Constraints and Capabilities for Web Services.
- Bernardo, M., Ciancarini, P., & Donatiello, L. (2002). Architecting families of software systems with process algebras. ACM Transactions on Software Engineering and Methodology (TOSEM), 11(4), 386–426. https://doi.org/10.1145/606612.606614
- Bhushan, M., & Goel, S. (2016). Improving software product line using an ontological approach. Sādhanā, 41(12), 1381–1391. https://doi.org/10.1007/s12046-016-0571-y
- Bhushan, M., Goel, S., & Kaur, K. (2017). Analyzing inconsistencies in software product lines using an ontological rule-based approach. Journal of Systems and Software. ISSN 0164–1212. https://doi.org/10.1016/j.jss.2017.06.002
- Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., & Grose, T. J. (2003). Eclipse Modeling Framework. Reading: Addison Wesley Professional.
- Clements, P., & Northrop, L. M. (2001). Software product lines: Practices and patterns. Addison-Wesley Professional.
- Czarnecki, K., Helsen, S., & Eisenecker, U. (2005). Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice, 10(1), 7–29. https://doi.org/10.1002/spip.213
10.1002/spip.213 Google Scholar
- Czarnecki, K., Kim, C. H. P., & Kalleberg, K. T. (2006). Feature models are views on ontologies. In Proceedings of the 10th International on Software Product Line Conference, IEEE Computer Society, 41–51.
- De Bruijn, J., & Heymans, S. (2006). Translating ontologies from predicate-based to frame-based languages. In Proceedings of the 2nd International Conference on Rules and Rule Markup Languages for the Semantic Web, Athens, IEEE, 7–16. https://doi.org/10.1109/RULEML.2006.23.
- Deng, G., Lenz, G., & Schmidt, D. C. (2006). Addressing domain evolution challenges in software product lines. Lecture Notes in Computer Science, 3844, 247–261. https://doi.org/10.1007/11663430_26
10.1007/11663430_26 Google Scholar
- D'Souza, D., Gopinathan, M., Ramesh, S., & Sampath, P. (2010). Conflict-tolerant specifications for hybrid systems.
- Elfaki, A., Phon-Amnuaisuk, S., & Ho, C. K. (2009). Investigating inconsistency detection as a validation operation in software product line. Studies in Computational Intelligence, Springer, 253, 159–168. https://doi.org/10.1007/978-3-642-05441-9_14
- Elfaki, A. O. (2016). A rule-based approach to detect and prevent inconsistency in the domain-engineering process. Expert Systems, 33(1), 3–13. https://doi.org/10.1111/exsy.12116
- Fan, S., & Naixiao, Z. (2006). Feature model based on description logics. Knowledge-Based Intelligent Information and Engineering Systems, Springer, 4252, 1144–1151. https://doi.org/10.1007/11893004_145
- Felfernig, A., Benavides, D., Galindo, J., & Reinfrank, F. (2013). Towards anomaly explanations in feature models. In Proceedings of the 15th International Configuration Workshop (ConfWS-2013), Vienna, Austria, 117–124. https://doi.org/10.1.1.428.5517
- Gamez, N., & Fuentes, L. (2013). Architectural evolution of FamiWare using cardinality-based feature models. Information and Software Technology, 56(3), 563–580. https://doi.org/10.1016/j.infsof.2012.06.012
10.1016/j.infsof.2012.06.012 Google Scholar
- Gangemi, A., N. Guarino, C. Masolo, A. Oltramari, & Schneider, L. (2002). Sweetening ontologies with DOLCE. In Proceedings of the 13th International Conference on Knowledge Engineering and Knowledge Management. Ontologies and the Semantic Web (EKAW 2002), Springer Berlin Heidelberg, 166–181.
- Goldstein, R. C., & Storey, V. C. (1991) Database and expert systems applications. In Proceedings of the International Conference in Berlin, Federal Republic of Germany: Springer, Vienna Wien GmbH, 124–129. https://doi.org/10.1007/978-3-7091-7555-2_21.
- Gruber, T. R. (1993). A translation approach to portable ontology specifications. Knowledge Acquisition, 6(2), 199–220. https://doi.org/10.1006/knac.1993.1008
- Gruninger, M., Hull, R., & Mcilraith, S. A. (2008). A short overview of flows: A first-order logic ontology for web services. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 31(3), 3–7.
- Gruninger, M., & Menzel, C. (2003). The process specification language (PSL) theory and applications. AI Magazine, 24(3), 63–74.
- Guo, J., Wang, Y., Trinidad, P., & Benavides, D. (2012). Consistency maintenance for evolving feature models. Expert Systems with Applications, 39(5), 4987–4998. https://doi.org/10.1016/j.eswa.2011.10.014
- Hemakumar, A. (2008). Finding contradictions in feature models. In S. Thiel, & K. Pohl (Eds.), (pp. 183–190). Ireland: SPLC (2), Lero Int. Science Centre, University of Limerick.
- Jarzabek, S., Ong, W. C., & Zhang, H. (2003). Handling variant requirements in domain modeling. The Journal of Systems and Software, 68(3), 171–182. https://doi.org/10.1016/S0164-1212(03)00060-8
- Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., & Peterson, A. S. (1990). Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, ESD-90-TR-222, SEI.
- Lee, S., Kim, J., Song, C., & Baik, D. (2007). An approach to analyzing commonality and variability of features using ontology in a software product line engineering. In Proceedings of the 5th International Conference on Software Engineering Research, Management and Applications, Busan: IEEE, 727–734. https://doi.org/10.1109/SERA.2007.41
- Leich, T., Apel, S., Marnitz, L., & Saake, G. (2005). Tool support for feature-oriented software development: FeatureIDE: An eclipse-based approach. In Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange (eclipse'05), ACM, 55–59. https://doi.org/10.1145/1117696.1117708
- Matuszek, C., Cabral, J., Witbrock, M., & Deoliveira, J. (2006). An introduction to the syntax and content of Cyc. In Proceedings of the AAAI Spring Symposium: Formalizing and Compiling Background Knowledge and Its Applications to Knowledge Representation and Question Answering, 44–49.
- Mazo, R., Lopez-Herrejon, R., Salinesi, C., Diaz, D., & Egyed, A. (2011). Conformance checking with constraint logic programming: The case of feature models. In Proceedings of the 35th Annual International Computer Software and Applications Conference (COMPSAC), Munich: IEEE, 456–465. https://doi.org/10.1109/COMPSAC.2011.66
- Mendonca, M., Branco, M., & Cowan, D. (2009). 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 (OOPSLA '09), ACM, New York, USA, 761–762. https://doi.org/10.1145/1639950.1640002
- Niles, I., & Pease, A. (2001). Towards a standard upper ontology. In Proceedings of the 2nd International Conference on Formal Ontology in Information Systems (FOIS 2001), ACM, 2–9.
- Niu, N., Savolainen, J., & Yu, Y. (2010). Variability modeling for product line viewpoints integration. In Proceedings of the 2010 IEEE 34th Annual Computer Software and Applications Conference (COMPSAC), IEEE, 337–346.
- Noorian, M., Ensan, A., Bagheri, E., Boley, H., & Biletskiy, Y. (2011). Feature model debugging based on description logic reasoning. In Proceedings of the 17th International Conference on Distributed Multimedia Systems (DMS'11), 158–164.
- Northrop L. M. (2008). Software product lines essentials. Pittsburgh: Software Engineering Institute Carnegie Mellon University.
- Osman, A., Phon-Amnuaisuk, S., & Ho, C.K. (2008). Knowledge based method to validate feature models. In Proceedings of the 12th International Conference Software Product Lines Conference (SPLC 2008), Limerick, Ireland, 217–225.
- Pease, A., & Sutcliffe, G. (2007). First-order reasoning on a large ontology. In Proceedings of the Workshop on Empirically Successful Automated Reasoning in Large Theories (CADE-21), 257, 59–69.
- Pohl, K., Böckle, G., & van der Linden, F. J. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. New York, USA: Springer-Verlag Berlin Heidelberg. https://doi.org/10.1007/3-540-28901-1
10.1007/3-540-28901-1 Google Scholar
- Prehofer, C. (2001). Feature-oriented programming: A new way of object composition. Concurrency and Computation: Practice and Experience, 13(6), 465–501. https://doi.org/10.1002/cpe.583
- Ramachandran, D., Reagan, P., & Goolsbey, K. (2005). First-orderized ResearchCyc: Expressivity and efficiency in a common-sense ontology. In P. Shvaiko, J. Euzenat, A. Leger, D. L. McGuinness, & H. Wache (Eds.), in Proceedings of the AAAI 2005 Workshop on Contexts and Ontologies: Theory, Practice and Applications, Pittsburgh, Pennsylvania, USA (pp. 33–40). Menlo Park, California: Technical report WS-05-01, AAAI Press.
- Reiter, R. (1987). A theory of diagnosis from first principles. Artificial Intelligence, 32(1), 57–95. https://doi.org/10.10%2016/0004-3702(87)90062-2
- Salinesi, C., Mazo, R., & Diaz, D. (2010). Criteria for the verification of feature models. In Proceedings of the 28th INFORSID (INFormatique Des ORganisations et Syst'emes d'Information et de D'ecision), 293–308.
- Sandkuhl, K., Thorn, C., & Webers, W. (2007). Enterprise ontology and feature model integration – Approach and experiences from an industrial case. In Proceedings of the Second International Conference on Software and Data Technologies, ICSOFT (PL/DPS/KE/MUSE) (pp. 264–269). Barcelona, Spain: INSTICC Press.
- Schneider, M., Carroll, J., Herman, I., & Patel-Schneider, P. F. (2009). OWL 2 web ontology language: RDF-based semantics. W3C Recommendation.
- Schneider, M., & Sutcliffe, G. (2011). Reasoning in the OWL2 full ontology language using first-order automated theorem proving. In Proceedings of the 23rd International Conference on Automated Deduction (CADE-23), Springer Berlin Heidelberg, 461–475.
- Segura, S., Benavides, D., & Ruiz-Cortés, A. (2010). FaMa Test Suite v1.2. Technical Report ISA-10-TR-01, Applied Software Engineering Research Group, University of Seville, Spain.
- Sirin, E., Parsia, B., Grau, B. C., Kalyanpur, A., & Katz, Y. (2007). Pellet: A practical OWL-DL reasoned. Web Semantics: Science, Services and Agents on the World Wide Web, 5(2), 51–53. https://doi.org/10.1016/j.websem.2007.03.004
- Stephan, M., & Antkiewicz, M. (2008). Ecore.fmp: A tool for editing and instantiating class models as feature models. Technical Report, University of Waterloo.
- Thao, C. (2012). A configuration management system for software product lines. Milwaukee: PhD dissertation, University of Wisconsin.
- Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., & Leich, T. (2014). FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming, 79, 70–85. https://doi.org/10.1016/j.scico.2012.06.002
- Thüm, T., Meinicke, J., Benduhn, F., Hentschel, M., von Rhein, A., & Saake, G. (2014). Potential synergies of theorem proving and model checking for software product lines. In Proceedings of the 18th International Software Product Line Conference (SPLC '14), Florence, Italy, 177–186. https://doi.org/10.1145/2648511.2648530
- Tsang, E. (1993). Foundations of constraint satisfaction: The classic text. London: Academic Press.
- Tsarkov, D., Riazanov, A., Bechhofer, S., & Horrocks, I. (2004). Using vampire to reason with OWL. In S. A. McIlraith, D. Plexousakis, & F. Harmelen (Eds.), in Proceedings of the 3rd International Semantic Web Conference (ISWC 2004). Lecture Notes in Computer Science 3298 (pp. 471–485). Berlin, Heidelberg: Springer. https://doi.org/10.1007/978-3-540-30475-3_33
10.1007/978-3-540-30475-3_33 Google Scholar
- Van Gurp, J., & Prehofer, C. (2008). From SPLs to open, compositional platforms. In Dagstuhl Seminar, Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
- Wang, B., Xiong, Y., Hu, Z., Zhao, H., Zhang, W., & Mei, H. (2010). A dynamic-priority based approach to fixing inconsistent feature models. In D. C. Petriu, N. Rouquette, & Ø. Haugen (Eds.), in Proceedings of the 13th international conference on Model Driven Engineering Languages and Systems: Part I (MODELS'10) (pp. 181–195). Oslo, Norway: Springer-Verlag. https://doi.org/10.1007/978-3-642-16145-2_13
10.1007/978-3-642-16145-2_13 Google Scholar
- Wang, H. H., Li, Y. F., Sun, J., Zhang, H., & Pan, J. (2007). Verifying feature models using OWL. Web Semantics: Science, Services and Agents on the World Wide Web, 6(2), 117–129. https://doi.org/10.1016/j.websem.2006.11.006
10.1016/j.websem.2006.11.006 Google Scholar
- White, J., Benavides, D., Schmidt, D. C., Trinidad, P., Dougherty, B., & Ruiz-Cortés, A. (2010). Automated diagnosis of feature model configurations. Journal of Systems and Software, 83(7), 1094–1107. https://doi.org/10.1016/j.jss.2010.02.017
- White, J., Dougherty, B., Schmidt, D. C., & Benavides, D. (2009). Automated reasoning for multi-step feature model configuration problems. In Proceedings of the 13th International Software Product Line Conference (SPLC '09) (pp. 11–20). Pittsburgh, PA, USA: Carnegie Mellon University.
- White, J., Galindo, J. A., Saxena, T., Dougherty, B., Benavides, D., & Schmidt, D. C. (2014). Evolving feature model configurations in software product lines. Journal of Systems and Software, 87, 119–136. https://doi.org/10.1016/j.jss.2013.10.010
- Wielemaker, J. (2015). SWI-Prolog (version 7.2.3), free software, Amsterdam, VU University Amsterdam, University of Amsterdam. Available at: http://www.swi-prolog.org
- Yang, D., & Dong, M. (2013). Applying constraint satisfaction approach to solve product configuration problems with cardinality-based configuration rules. Journal of Intelligent Manufacturing, 24(1), 99–111. https://doi.org/10.1007/s10845-011-0544-2
- Zhang, X., & Møller-Pedersen, B. (2013). Towards correct product derivation in model-driven product lines. System Analysis and Modeling: Theory and Practice, Lecture Notes in Computer Science, 7744, 179–197. https://doi.org/10.1007/978-3-642-36757-1_11
10.1007/978-3-642-36757-1_11 Google Scholar