Please use this identifier to cite or link to this item:
|A Generic Framework for Improving Software Product Line using an Ontological Rule-Based Approach
|Software product line;Feature model;Product line model;Feature model ontology;Rule-based approach;Ontology;Dead feature;False-optional feature;Void model;Inconsistency;Redundancy;Wrong cardinality;Defects;First-order logic;Identification;Cause;Correction;Reusability;Quality
|Software product line engineering (SPLE) is an emergent technical paradigm for generating software products. A software product line (SPL) is a family of related software intensive systems, sharing a common and managed set of features that fulfill the specific requirements of a certain domain. The main focus of SPL is software reuse in an attempt to improve the quality and productivity while reducing cost as well as time to market. Feature model (FM) is a well-known notation that represents commonality and variability of SPL. The accurate combination of features in FM allows deriving a valid product from SPL. The development and growing size of FMs may inevitably introduce inaccurate feature relationships. These relationships may cause defects in models such as defects due to redundancy, anomaly, inconsistency and wrong cardinality. These defects can be inherited in the software products built from a defective product line model. These defects diminish the quality of FMs and benefits of SPL. A defect in FM is a critical issue in the SPL community as software products are derived by reusing models. One of the major factors behind the successful derivation of defect free valid software products from SPL is the quality of FM, which in turn depends on how a defect in FM is resolved. Moreover, manually inspecting defects in large-sized FMs is a laborious task. Therefore, it is of utmost importance to resolve defects to support reusability in the industrial domain. As, it further leads to mass production of software products and provides the benefits of SPL, i.e., reduced development time, cost and improves quality of software products. The identification of defects in FM is well researched, however, providing cause of defects with their correction in a language which is easily understandable by product line (PL) developers is still a challenge. The lack of methods to explain the causes and corrections of defects in a user-friendly language for resolving defects motivated us to propose an effective approach to assure the quality of FMs in SPL, which in turn ensures the benefits of reusability in industry. In this thesis, a framework is proposed to improve SPL by analyzing defects in FM using an ontological rule-based approach. The problem of enhancing the quality of software products derived from SPLE is tackled by dealing with defects due to redundancy, anomaly, inconsistency and wrong cardinality in FMs. The classification of FM defects is defined in the form of cases. The proposed approach formalizes FM by transforming it iv into first-order logic (FOL) predicate based feature model ontology (FMO) and it also provides a communication between FM representation and FMO. A set of FOL rules is developed and applied using Prolog on the FMO to deal with defects in FMs. These rules identify defects with their causes and provide corrections in a user-friendly natural language which are easily understandable by PL developers. This information assists developers to eliminate relationships involved in the source of defects to resolve defects. The proposed approach is validated using a corpus of 108 models which includes the maximum size of real-world FMs and automatically-generated 3-CNF-FMs (considered as the toughest benchmark in SPL) available in online software product lines online tools repository as well as models generated using the FeatureIDE tool. The results of experiment evaluation show that the approach is effective, accurate and scalable as it handles defects in large-sized FMs up to 30,000 features. As defects are found and resolved early in the development process of FM, consequently, it allows deriving defect free valid software products from PL by subsequently enhancing the reusability and quality of FMs in SPL. Keywords: Software product line, Product line model, Feature model, Feature model ontology, Rule-based approach, Ontology, Dead feature, False-optional feature, Void model, Inconsistency, Redundancy, Wrong cardinality, Defects, First-order logic, Identification, Cause, Correction, Reusability, Quality.
|Appears in Collections:
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.