Development of the Maintainability Index for SPLs Feature Models Using Fuzzy Logic
Resumo
The variability of the common features in an Software Product Line (SPL) can be managed by an feature model, an artifact that consist of a tree-shaped diagram, that describe the features identified in the products and the possible relationships between them. Guarantee the quality of the feature model may be essential to ensure that errors do not propagate across all products. The process of evaluating the quality of a product or artifact can be done using measures, which may reflect the characteristics, sub-characteristics or attributes of quality. However, the isolated values of each measure do not allow access to a whole quality of the feature model, since most of the measures cover several specific aspects that are not correlated. In this context, this paper proposes the aggregation of measures in order to evaluate the maintainability of the feature model in SPL. We aim to investigate how to aggregate these measures and access the respective sub-characteristics by means of a single aggregate value that has the same available information as a set of measures. For this, we have used the theory of Fuzzy Logic as a technique for aggregation of these measures. The new aggregate measure represents the maintainability index of a feature models (MIFM) was obtained. Moreover, to evaluate the MIFM, we applied it to a set of models. It was verified that the aggregate measure obtained allows to measure if a feature models has a high or low maintainability index, supporting the domain engineer in the evaluation of the maintenance of the feature model in a faster and more precise way.
Referências
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later: A literature review. Information Systems 35, 6 (2010), 615--636.
Carla Bezerra, Rossana Andrade, and José Maria Monteiro. 2015. Measures for quality evaluation of feature models. Schaefer, I., Stamelos, I. (Eds.), Software Reuse for Dynamic Systems in the Cloud and Beyond. In: Lecture Notes in Computer Science, 8919. (2015), 282--297.
Carla Bezerra, Rossana Andrade, and José Maria Monteiro. 2016. Exploring quality measures for the evaluation of feature models: a case study. The Journal of Systems and Software (2016), 1--20.
Carla IM Bezerra, Rossana Andrade, José Monteiro, and Davi Cedraz. 2018. Aggregating Measures using Fuzzy Logic for Evaluating Feature Models. In Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems. ACM, 35--42.
Carla IM Bezerra, Jefferson Barbosa, Joao Holanda Freires, Rossana Andrade, and José Maria Monteiro. 2016. DyMMer: a measurement-based tool to support quality evaluation of DSPL feature models. In Proceedings of the 20th International Systems and Software Product Line Conference. ACM, 314--317.
Barry W Boehm, John R Brown, and Mlity Lipow. 1976. Quantitative evaluation of software quality. In Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 592--605.
Nancy Van Note Chism. 1999. Peer Review of Teaching. A Sourcebook. ERIC.
Pablo Cingolani and Jesús Alcalá-Fdez. 2013. jFuzzyLogic: a Java Library to Design Fuzzy Logic Controllers According to the Standard for Fuzzy Control Programming. (2013), 61--75.
Don Coleman, Dan Ash, Bruce Lowther, and Paul Oman. 1994. Using metrics to evaluate software system maintainability. Computer 27, 8 (1994), 44--49.
Aristides Dasso and Ana Funes. 2012. Software quality metrics aggregation. In 13th Argentine Symposium on Software Engineering, ASSE. 312--323.
Kelly Rejane de Oliveira and Arnaldo Dias Belchior. 2002. AdeQuaS. Ph.D. Dissertation. Universidade de Fortaleza.
Norman Fenton. 1994. Software measurement: A necessary scientific basis. IEEE Transactions on software engineering 20, 3 (1994), 199--206.
Charitha Hettiarachchi, Hyunsook Do, and Byoungju Choi. 2016. Risk-based test case prioritization using a fuzzy expert system. Information and Software Technology 69 (2016), 1--15.
ISO/IEC. 2011. Systems and Software Engineering: Systems and Software Quality Requirements and Evaluation (SQuaRE): System and Software Quality Models. ISO/IEC.
Stephen H Kan. 2002. Metrics and models in software quality engineering. Addison-Wesley Longman Publishing Co., Inc.
George Klir and Bo Yuan. 1995. Fuzzy sets and fuzzy logic. Vol. 4. Prentice hall New Jersey.
Marcilio Mendonca, Moises Branco, and Donald Cowan. 2009. SPLOT: software product lines online tools. In Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications. ACM, 761--762.
Karine Mordal, Nicolas Anquetil, Jannik Laval, Alexander Serebrenik, Bogdan Vasilescu, and Stéphane Ducasse. 2013. Software quality metrics aggregation in industry. Journal of Software: Evolution and Process 25, 10 (2013), 1117--1135.
Nick J Pizzi. 2013. A fuzzy classifier approach to estimating software quality. Information Sciences 241 (2013), 1--11.
Klaus Pohl, Günter Böckle, and Frank J van Der Linden. 2005. Software product line engineering: foundations, principles and techniques. Springer Science & Business Media.
Linda H Rosenberg. 1998. Applying and interpreting object oriented metrics. (1998).
Bogdan Vasilescu, Alexander Serebrenik, and Mark van den Brand. 2010. Comparative study of software metrics' aggregation techniques. Proceedings of the International Worskhop Benevol 2010 (2010).
Harikesh Bahadur Yadav and Dilip Kumar Yadav. 2015. A fuzzy logic based approach for phase-wise software defects prediction using software metrics. Information and Software Technology 63 (2015), 44--57.
Lotfi Asker Zadeh. 1988. Fuzzy logic. Computer 21, 4 (1988), 83--93.