Abstract
Software inspection is a rigorous special type of software review among the several verification and validation activities. It has a well-defined process that conducted all life cycle artifacts for different domains. The inspection’s main objective is to detect and reduce the number of defects aiming to guarantee and control a specific SPL’s quality or their products generated. Despite the several software inspection techniques available in the literature, few techniques inspect SPL modeled using UML variability diagrams. Therefore, this chapter presents SMartyCheck, a checklist-based software inspection technique that encompasses defect types taxonomy; and SMartyPerspective, a perspective-based software inspection that enables detecting defects using distinct scenarios and roles in SMarty diagrams. SMartyCheck and SMartyPerspective were evaluated in several empirical studies by undergraduate, graduate students, researchers, and experts, which provided a body of knowledge of their feasibility (quality) and effectiveness (productivity).
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
Alshazly, A.A., Elfatatry, A.M., Abougabal, M.S.: Detecting defects in software requirements specification. Alexandria Eng. J. 53(3), 513–527 (2014). https://doi.org/10.1016/j.aej.2014.06.001
Basili, V.R., Green, S., Laitenberger, O., Lanubile, F., Shull, F., Sørumgård, S., Zelkowitz, M.V.: The empirical investigation of perspective-based reading. Empirical Softw. Eng. 1(2), 133–164 (1996)
Bettin, G.C.S., Geraldi, R.T., OliveiraJr, E.: Experimental evaluation of the SMartyCheck techinique for inspecting defects in UML component diagrams. In: Proceedings of the Brazilian Symposium on Software Quality, pp. 101–110. ACM Press (2018). https://doi.org/10.1145/3275245.3275256
Bettin, G.C.S., OliveiraJr, E.: SMartyPerspective: a perspective-based inspection technique for software product lines. In: Proceedings of the Brazilian Symposium on Software Engineering, pp. 90–94. ACM Press (2021). https://doi.org/10.1145/3474624.3474626
Biffl, S., Halling, M.: Investigating the defect detection effectiveness and cost benefit of nominal inspection teams. IEEE Trans. Softw. Eng. 29(5), 385–397 (2003). https://doi.org/10.1109/TSE.2003.1199069
Ciolkowski, M., Differding, C., Laitenberger, O., Münch, J.: Empirical investigation of perspective-based reading: a replicated experiment. Fraunhofer Institute for Experimental Software Engineering (1997)
Corbin, J.M., Strauss, A.L.: Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. Sage Publishing (2008)
Creswell, J.W., Clark, V.L.P.: Designing and Conducting Mixed Methods Research. Sage Publishing (2010)
Cunha, R., Conte, T., de Almeida, E.S., Maldonado, J.C.: A Set of inspection techniques on software product line models. In: Proceedings of the 24th International Conference on Software Engineering and Knowledge Engineering, pp. 657–662 (2012)
Fagan, M.: Advances in software inspections. IEEE Trans. Softw. Eng. 12(1), 744–751 (1986). https://doi.org/10.1109/TSE.1986.6312976
Fagan, M.: Design and code inspections to reduce errors in program development. In: Software Pioneers, 575–607, Springer, Berlin (2002). https://doi.org/10.1007/978-3-642-59412-0_35
Geraldi, R.T.: SMartyCheck: a checklist-based inspection technique for use case and class diagrams of SMarty approach. Master Dissertation, State University of Maringá (2015). http://repositorio.uem.br:8080/jspui/handle/1/2558
Geraldi, R.T., OliveiraJr, E., Conte, T., Steinmacher, I.: Checklist-based inspection of SMarty variability models—proposal and empirical feasibility study. In: Proceedings of the 17th International Conference on Enterprise Information Systems, pp. 268–276. Scitepress (2015). https://doi.org/10.5220/0005350102680276
Geraldi, R.T., OliveiraJr, E.: Defect types and software inspection techniques: a systematic mapping study. J. Comput. Sci. 13(10), 470–495 (2017). https://doi.org/10.3844/jcssp.2017.470.495
Geraldi, R.T., OliveiraJr, E.: Towards initial evidence of SMartyCheck for defect detection on product-line use case and class diagrams. J. Softw. 12(5), 379–392 (2017). https://doi.org/10.17706/jsw.12.5.379--392
Halling, M., Biffl, S., Grechenig, T., Kohle, M.: Using reading techniques to focus inspection performance. In: Proceedings 27th EUROMICRO Conference: A Net Odyssey, pp. 248–257. IEEE, Piscataway (2001). https://doi.org/10.1109/EURMIC.2001.952461
Hayes, J., Raphael, I., Holbrook, E., Pruett, D.: A case history of International Space Station requirement faults. In: Proceedings of the 11th IEEE International Conference on Engineering of Complex Computer Systems, p. 10. IEEE Computer Society (2006). https://doi.org/10.1109/ICECCS.2006.1690351
Höhn, E.: Técnicas de leitura de especificação de requisitos de software: estudos empíricos e gerência de conhecimento em ambientes acadêmico e industrial. Master Dissertation, Universidade de São Paulo (2003)
IEEE: Recommended Practice for Software Requirements Specifications, Standard 830–1998 (1998). http://standards.ieee.org/findstds/standard/830-1998.html
IEEE: Software Reviews, Standard 1028–1997 (1998). http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=663254
IEEE: System and Software Verification and Validation, Standard 1012–2012 (2012). https://standards.ieee.org/standard/1012-2012.html
Laitenberger, O, Atkinson, C.: Generalizing perspective-based inspection to handle object-oriented development artifacts. In: Proceedings of the International Conference on Software Engineering, pp. 494–503. ACM Press (1999). https://doi.org/10.1145/302405.302680
Laitenberger, O.: Cost-effective detection of software defects through perspective-based inspections. Empirical Softw. Eng. 6, 81–84 (2001). https://doi.org/10.1023/A:1009805707387
Laitenberger, O., Kohler, K.: The systematic adaptation of perspective-based inspections to software development projects. In: 1st Workshop on Inspection in Software Engineering, McMaster University, pp. 105–114 (2001)
Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, London (2009)
Lanubile, F., Mallardo, T., Calefato, F., Denger, C., Ciolkowski, M.: Assessing the impact of active guidance for defect detection: a replicated experiment. In: Proceedings of the 10th International Symposium on Software Metrics, pp. 269–278. IEEE, Piscataway (2004). https://doi.org/10.1109/METRIC.2004.1357909
Linden, F.J., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Berlin (2007)
Mirsky, S., Hayes, J., Miller, L.: Guidelines for the verification and validation of expert system software and conventional software. Technical report (1995). https://doi.org/10.2172/42512
Oladele, R., Adedayo, H.: On empirical comparison of checklist-based reading and adhoc reading for code inspection. Int. J. Comput. Appl. 87(1) (2014). https://doi.org/10.5120/15174--3251
Pohl, K., Böckle, G., Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)
Porter, A., Votta, L.G., Basili, V.R.: Comparing detection methods for software requirements inspections: a replicated experiment. IEEE Trans. Softw. Eng. 21(6), 563–575 (1995). https://doi.org/10.1109/32.391380
Rombach, D., Ciolkowski, M., Jeffery, R., Laitenberger, O., McGarry, F., Shull, F.: Impact of research on practice in the field of inspections, reviews and walkthroughs: learning from successful industrial uses. ACM SIGSOFT Softw. Eng. Notes 33(6), 26–35 (2008). https://doi.org/10.1145/1449603.1449609
Sabaliauskaite, G., Matsukawa, F., Kusumoto, S., Inoue, K.: Further investigations of reading techniques for object-oriented design inspection. Inform. Softw. Technol. 45(9), 571–585 (2003). https://doi.org/10.1016/S0950-5849(03)00044-2
Shull, F., Rus, I., Basili, V.: How perspective-based reading can improve requirements inspections. Computer 33(7), 73–79 (2000). https://doi.org/10.1109/2.869376
Silva, L.F., OliveiraJr, E.: SMartyModeling: an environment for engineering UML-based software product lines. In: 15th International Working Conference on Variability Modelling of Software-Intensive Systems, pp. 1–5. ACM, New York (2021). https://doi.org/10.1145/3442391.3442397
Souza, I.S., da Silva Gomes, G.S., da Mota Silveira Neto, P.A., do Carmo Machado, I., de Almeida, E.S., de Lemos Meira, S.R.: Evidence of software inspection on feature specification for software product lines. J. Syst. Softw. 86(5), 1172–1190 (2013). https://doi.org/10.1016/j.jss.2012.11.044
Taroda, M.H., OliveiraJr, E., Geraldi, R.T.: SMartyCheckTool: uma Ferramenta para Detecção e Remoção de Defeitos em Modelos SMarty de Linhas de Produto de Software. In: XXVI Encontro Anual de Iniciação Científica, pp. 1–4. State University of Maringá (2017)
Travassos, G., Shull, F., Fredericks, M., Basili, V.R.: Detecting defects in object-oriented designs: using reading techniques to increase software quality. In: Proceedings of the 14th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, vol. 34, no. 10, pp. 47–56. ACM Press, New York (1999). https://doi.org/10.1145/320384.320389
Travassos, G. H.: Software defects: stay away from them. do inspections! In: Proceedings of the 9th International Conference on the Quality of Information and Communications Technology, pp. 1–7. IEEE, Piscataway (2014). https://doi.org/10.1109/QUATIC.2014.8
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)
Zhu, Y.: Software Reading Techniques: Twenty Techniques for More Effective Software Review and Inspection. Apress (2016)
Acknowledgements
The authors would like to thank CAPES/Brazil (code 001) for funding 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
Bettin, G., Geraldi, R.T., OliveiraJr, E. (2023). Model-Based Inspections 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_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-18556-4_7
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)