Abstract
The process of experimentation is one of several scientific methods that can provide evidence for a proof of a theory. This process is counterpoint to the real world observation method, thus providing a reliable body of knowledge. However, in the experimentation for emerging areas and in the consolidation process in scientific and industrial communities, such as the software product line (SPL), there has been a constant lack of adequate documentation of experiments that makes it difficult to repeat, replicate, and reproduce studies in SPL. Therefore, this chapter presents a set of guidelines for the quality assessment of SPL experiments with its conceptual model to support the understanding of the proposed guidelines, as well as an ontology for SPL experiments, called OntoExper-SPL, in addition to support the teaching experimentation in SPL. Thus, these points aim to improve the planning, conduction, analysis, sharing, and documentation of SPL experiments, supporting the construction of a reliable and reference body of knowledge in such a context in addition to enabling improvement in the teaching of SPL experiments.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Almeida, M.B., Bax, M.P.: An overview about ontologies: research about definitions, types, applications, evaluation and construction methods. information science. Ciência da informação 32(3), 7–20 (2003). In Portuguese
Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing, Verification and Reliability, 24(3), 219–250 (2014)
Asadi, M., Soltani, S., Gašević, D., Hatala, M.: The effects of visualization and interaction techniques on feature model configuration. Empir. Softw. Eng., 1–38 (2016)
Basili, V.R., Rombach, H.D.: The TAME project: towards improvement-oriented software environments. IEEE Trans. Softw. Eng. 14(6), 758–773 (1988)
Calvanese, D., De Giacomo, G., Lembo, D., Lenzerini, M., Rosati, R.: Dl-lite: tractable description logics for ontologies. In: Proceedings of the 20th National Conference on Artificial Intelligence (AAAI 2005), vol. 5, pp. 602–607 (2005)
Cohen, J.: Statistical power analysis. Curr. Dir. Psychol. Sci. 1(3), 98–101 (1992)
Dieste, O., Juristo, N.: Challenges of evaluating the quality of software engineering experiments. In: Perspectives on the Future of Software Engineering, pp. 159–177. Springer, Berlin (2013)
Dieste, O., Grim, A., Juristo, N., Saxena, H.: Quantitative determination of the relationship between internal validity and bias in software engineering experiments: consequences for systematic literature reviews. In: 5th International Symposium on Empirical Software Engineering and Measurement (ESEM) pp. 285–294 (2011)
Eyal-Salman, H., Seriai, A.D., Dony, C.: Feature location in a collection of product variants: combining information retrieval and hierarchical clustering. In: SEKE: Software Engineering and Knowledge Engineering, pp. 426–430 (2014)
Furtado, V.R., Vignando, H., França, V., OliveiraJr, E.: Comparing approaches for quality evaluation of software engineering experiments: an empirical study on software product line experiments. J. Comput. Sci., 1396–1429 (2019)
Furtado, V., OliveiraJr, E., Kalinowski, M.: Guidelines for promoting software product line experiments. In: Brazilian Conference on Software Components, Architecture, and Reuse, pp. 31–40. ACM, New York (2021)
Gruber, T.R.: A translation approach to portable ontology specifications. Knowl. Acquis. 5(2), 199–220 (1993)
Isotani, S., Bittencourt, I.I., Barbosa, E.F., Dermeval, D., Paiva, R.O.A.: Ontology driven software engineering: a review of challenges and opportunities. IEEE Lat. Am. Trans. 13(3), 863–869 (2015)
Jedlitschka, A., Ciolkowski, M., Pfahl, D.: Reporting experiments in software engineering. In: Shull, F., Singer, J., Sjøberg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 201–228. Springer, London (2008). https://doi.org/10.1007/978-1-84800-044-5_8
Jena, A.: Semantic web framework for Java (2007). https://jena.apache.org/
Jolliffe, I.: Principal component analysis. In: International Encyclopedia of Statistical Science, pp. 1094–1096. Springer, Berlin (2011)
Kampenes, V.: Quality of design, analysis and reporting of software engineering experiments: a systematic review. Ph.D. Thesis, Department of Informatics, Faculty of Mathematics and Natural Sciences, University of Oslo (2007)
Kitchenham, B.A., Pfleeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., El Emam, K., Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng. 28(8), 721–734 (2002)
Kitchenham, B., Al-Khilidar, H., Babar, M.A., Berry, M., Cox, K., Keung, J., Kurniawati, F., Staples, M., Zhang, H., Zhu, L.: Evaluating guidelines for reporting empirical software engineering studies. Empir. Softw. Eng. 13(1), 97–121 (2008)
Kitchenham, B., Sjøberg, D.I.K., Brereton, O.P., Budgen, D., Dybå, T., Höst, M., Pfahl, D., Runeson, P.: Can we evaluate the quality of software engineering experiments? In: International Symposium on Empirical Software Engineering and Measurement, pp. 1–8 (2010)
Kitchenham, B.A., Budgen, D., Brereton, P.: Evidence-Based Software Engineering and Systematic Reviews, vol. 4. CRC Press, Boca Raton (2016)
Lamy, J.B.: Owlready: ontology-oriented programming in python with automatic classification and high level constructs for biomedical ontologies. Artif. Intell. Med. 80, 11–28 (2017)
LiZhang, X.L.: An evolutionary methodology for optimized feature selection in software product lines. In: International Conference on Software Engineering and Knowledge Engineering, SEKE (2014)
Lopez-Herrejon, R.E., Linsbauer, L., Galindo, J.A., Parejo, J.A., Benavides, D., Segura, S., Egyed, A.: An assessment of search-based techniques for reverse engineering feature models. J. Syst. Softw. 103, 353–369 (2015)
Machado, I.d.C., Silveira Neto, P.A.d.M., Almeida, E.S.d., Meira, S.R.d.L.: Riple-te: a process for testing software product lines. In: SEKE, pp. 711–716 (2011)
McKinney, W.: Data structures for statistical computing in python. In: Proceedings of the 9th Python in Science Conference, pp. 51–56 (2010)
Mendonca, F.M.: OntoForInfoScience: methodology for building ontologies by information scientists – a practical application in the development of the ontology about components of human blood (Hemonto) (2015)
Monteiro, F.: Modelagem conceitual: a construção de uma ontologia sobre avaliação do ciclo de vida (acv) para fomentar a disseminação de seus conceitos (2007)
Petersen, K., Vakkalanka, S., Kuzniarz, L.: Guidelines for conducting systematic mapping studies in software engineering: an update. Inf. Softw. Technol. 64, 1–18 (2015)
Prud’hommeaux, E., Seaborne, A.: SPARQL Query Language for RDF. W3C Recommendation (2008). http://www.w3.org/TR/rdf-sparql-query/
Pucci, J.N.: Supporting the execution of controlled experiments using an ontology for em packaging: the tool OntoExpTool. Master’s Thesis, Paulista State University (UNESP), São José do Rio Preto (2015). 105 p. In Portuguese
Reinhartz-Berger, I., Figl, K., Haugen, Ø.: Comprehending feature models expressed in CVL. In: International Conference on Model Driven Engineering Languages and Systems, pp. 501–517 (2014)
Ribeiro, M., Borba, P., Kästner, C.: Feature maintenance with emergent interfaces. In: 36th International Conference on Software Engineering, pp. 989–1000 (2014)
Rodrigues, I.P., Bacelo, A.P.T., Silveira, M.S., Campos, M.d.B., Rodrigues, E.M.: Evaluating the representation of user interface elements in feature models: an empirical study. In: SEKE, pp. 628–633 (2016)
Santos, W.B., Almeida, E.S.d., Meira, S.R.d.L.: Tirt: A traceability information retrieval tool for software product lines projects. In: Euromicro Conference on Software Engineering and Advanced Applications, pp. 93–100 (2012)
Santos, A.R., Machado, I.d.C., Almeida, E.S.d.: Riple-hc: Javascript systems meets spl composition. In: International Systems and Software Product Line Conference, pp. 154–163 (2016)
Silveira Neto, P.A.d.M., Machado, I.d.C., Cavalcanti, Y.C., Almeida, E.S.d., Garcia, V.C., Meira, S.R.d.L.: A regression testing approach for software product lines architectures. In: Software Components, Architectures and Reuse (SBCARS), pp. 41–50 (2010)
Silveira Neto, P.A.d.M., Machado, I.d.C., Cavalcanti, Y.C., Almeida, E.S.d., Garcia, V.C., Meira, S.R.d.L.: An experimental study to evaluate a spl architecture regression testing approach. In: Information Reuse and Integration (IRI), pp. 608–615 (2012)
Sjøberg, D.I.K., Anda, B., Arisholm, E., Dyba, T., Jorgensen, M., Karahasanovic, A., Koren, E.F., Vokác, M.: Conducting realistic experiments in software engineering. Empir. Softw. Eng., 17–26 (2002)
Teixeira, E.O.: Quality analysis of controlled experiments in the context of empirical software engineering. Master’s Thesis, Federal University of Pernambuco, Recife (2014). 109 p. In Portuguese
Van Rossum, G., Drake Jr, F.L.: Python tutorial. In: Centrum voor Wiskunde en Informatica Amsterdam (1995)
Vignando, H.: Ontoexper-spl: an ontology to support software product line experiments experiments. Master’s Thesis, State University of Maringá, Maringá-PR (2020). In Portuguese
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer Science & Business Media, Berlin (2012)
Acknowledgements
Dr. Igor Steinmacher receives a CNPq PQ2 Research Productivity Fellowship (process #313067/2020-1). Viviane R. Furtado would like to thank CAPES/Brazil (code 001) for supporting this work. Edson Oliveira Jr. would like to thank CAPES (PROCAD) for supporting this work.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Furtado, V.R., Vignando, H., Luz, C.D., Steinmacher, I.F., Kalinowski, M., OliveiraJr, E. (2023). Controlled Experimentation of Software Product Lines. In: OliveiraJr, E. (eds) UML-Based Software Product Line Engineering with SMarty. Springer, Cham. https://doi.org/10.1007/978-3-031-18556-4_19
Download citation
DOI: https://doi.org/10.1007/978-3-031-18556-4_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-18555-7
Online ISBN: 978-3-031-18556-4
eBook Packages: Computer ScienceComputer Science (R0)