Skip to main content

Model-Based Inspections of Software Product Lines

  • Chapter
  • First Online:
UML-Based Software Product Line Engineering with SMarty

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 119.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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

    Article  Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. 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

  4. 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

  5. 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

    Article  Google Scholar 

  6. 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)

    Google Scholar 

  7. Corbin, J.M., Strauss, A.L.: Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. Sage Publishing (2008)

    Google Scholar 

  8. Creswell, J.W., Clark, V.L.P.: Designing and Conducting Mixed Methods Research. Sage Publishing (2010)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Fagan, M.: Advances in software inspections. IEEE Trans. Softw. Eng. 12(1), 744–751 (1986). https://doi.org/10.1109/TSE.1986.6312976

    Article  Google Scholar 

  11. 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

  12. 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

    Google Scholar 

  13. 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

  14. 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

    Article  Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

  17. 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

  18. 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)

    Google Scholar 

  19. IEEE: Recommended Practice for Software Requirements Specifications, Standard 830–1998 (1998). http://standards.ieee.org/findstds/standard/830-1998.html

  20. IEEE: Software Reviews, Standard 1028–1997 (1998). http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=663254

  21. IEEE: System and Software Verification and Validation, Standard 1012–2012 (2012). https://standards.ieee.org/standard/1012-2012.html

  22. 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

  23. 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

    Article  MATH  Google Scholar 

  24. 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)

    Google Scholar 

  25. Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, London (2009)

    Google Scholar 

  26. 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

  27. Linden, F.J., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Berlin (2007)

    Book  Google Scholar 

  28. 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

  29. 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

  30. Pohl, K., Böckle, G., Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)

    Book  MATH  Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. 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

    Article  Google Scholar 

  34. 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

    Article  Google Scholar 

  35. 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

  36. 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

  37. 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)

    Google Scholar 

  38. 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

  39. 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

  40. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)

    Book  MATH  Google Scholar 

  41. Zhu, Y.: Software Reading Techniques: Twenty Techniques for More Effective Software Review and Inspection. Apress (2016)

    Google Scholar 

Download references

Acknowledgements

The authors would like to thank CAPES/Brazil (code 001) for funding this work.

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics