Skip to main content
Log in

Automating test-based inspection of design models

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Software design is usually a highly creative and error-prone activity even if supported by patterns within a given domain. Therefore, inspection techniques are often needed to validate design models so that defects are not propagated to code and tests. However, traditional inspection techniques often focus on structural aspects of models, leaving behavior validation for testing that is performed later. Guided inspections combine both traditional inspection activities and testing to bring in the testing perspective earlier in the development process in order to more effectively uncover omission and nonconformity. This paper presents an automated solution, based on model-driven architecture concepts and technology, to the guided inspection technique focusing on Unified Modeling Language models. The automated technique, as observed from 3 case studies, can be reasonably effective to uncover defects of different types.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. http://checkstyle.sourceforge.net/.

  2. http://findbugs.sourceforge.net/.

  3. http://sites.google.com/a/computacao.ufcg.edu.br/agi/.

  4. http://www.ines.org.br.

References

  • Alves, E., Machado, P., & Ramalho, F. (2012). Automatic generation of built-in contract test drivers. Software & Systems Modeling, pp. 1–25. doi:10.1007/s10270-012-0282-8 (published online first).

  • AMMA Project. (2009). Atlas transformation language. http://www.sciences.univ-nantes.fr/lina/atl/.

  • Costa, P., Shull, F., & Melo, W. (2006). Getting requirements right: The perspective-based reading technique and the rational unified process. http://www.ibm.com/developerworks/rational/library/sep06/melo_costa_shull/.

  • Dinh-Trong, T., Kawane, N., Ghosh, S., France, R., & Andrews, A. A. (2005). A tool-supported approach to testing UML design models. In Proceedings of the 10th IEEE international conference on engineering of complex computer systems, IEEE Computer Society, Washington, DC, USA, ICECCS ’05, pp. 519–528.

  • Eclipse Project. (2009). Mofscript user guide. http://www.eclipse.org/gmt/mofscript/doc/ MOFScript-User-Guide.pdf.

  • Egyed, A. (2007). Fixing inconsistencies in UML design models. In 29th international conference on software engineering, 2007. ICSE 2007, pp. 292–301.

  • Fagan, M. E. (1976). Design and code inspections to reduce errors in program development. IBM Systems Journal, 15(3), 182–211.

    Article  Google Scholar 

  • Fagan, M. E. (1986). Advances in software inspections. IEEE Transactions on Software Engineering, 12(7), 744–751.

    Article  Google Scholar 

  • Gilb, T., & Graham, D. (1994). Software inspection. Reading, MA: Addison-Wesley.

    Google Scholar 

  • Gogolla, M., Büttner, F., & Richters, M. (2007). USE: A UML-based specification environment for validating UML and OCL. Science of Computer Programming, 69(1-3), 27–34.

    Article  MATH  MathSciNet  Google Scholar 

  • Ho, W. M., Jézéquel, J. M., Guennec, A. L., & Pennaneach, F. (1999). UMLAUT: An extendible UML transformation framework. In Proceedings of the 14th IEEE international conference on automated software engineering, IEEE Computer Society, Washington, DC, USA, ASE ’99, pp. 275–278.

  • Kalinowski, M., & Travassos, G. H. (2005). Software technologies: The use of experimentation to introduce ISPIS—a software inspection framework—into the industry. In 2nd experimental software engineering Latin American workshop.

  • Kleppe, A., Warmer, J., & Bast, W. (2003). MDA explained: The model driven architecture: practice and promise. Boston, MA: Addison-Wesley Longman Publishing Co., Inc.

    Google Scholar 

  • Laitenberger, O., & Atkinson, C. (1999). Generalizing perspective-based inspection to handle object-oriented development artifacts. In Proceedings of the 1999 international conference on software engineering, 1999, pp. 494–503.

  • Laitenberger, O., & DeBaud, J. M. (1997). Perspective-based reading of code documents at Robert Bosch GmbH. Information and Software Technology, 39(11), 781–791.

    Article  Google Scholar 

  • Laitenberger, O., & DeBaud, J. M. (2000). An encompassing life cycle centric survey of software inspection. Journal of Systems and Software, 50(1), 5–31.

    Article  Google Scholar 

  • Laitenberger, O., Atkinson, C., Schlich, M., & Emam, K. E. (2000). An experimental comparison of reading techniques for defect detection in UML design documents. Journal of Systems and Software, 53(2), 183–204.

    Article  Google Scholar 

  • Lange, C. F. J., & Chaudron, M. R. V. (2006). Effects of defects in UML models: An experimental investigation. In Proceedings of the 28th international conference on Software engineering (pp 401–411). ACM, New York, NY, ICSE ’06.

  • Lanubile, F., Mallardo, T., & Calefato, F. (2003). Tool support for geographically dispersed inspection teams. Software Process: Improvement and Practice, 8(4), 217–231.

    Article  Google Scholar 

  • Lyytinen, K., Loucopoulos, P., Mylopoulos, J., & Robinson, W. (eds) (2009). Design requirements engineering: A ten-year perspective. Berlin: Springer.

    Google Scholar 

  • Maldonado, J. C., Carver, J., Shull, F., Fabbri, S., Dória, E., Martimiano, L., Mendonça, M., & Basili, V. (2006). Perspective-based reading: A replicated experiment focused on individual reviewer effectiveness. Empirical Software Engineering, 11(1), 119–142.

    Article  Google Scholar 

  • McGregor, J. D., & Sykes, D. A. (2001). A practical guide to testing object-oriented software. Object technology series. Reading, MA: Addison-Wesley.

    Google Scholar 

  • OMG. (2007a). Metaobject facility (MOF) 2.0 query/view/transformation specification—final adopted specification. Technical Report ptc/07-07-07, Object Management Group. http://www.omg.org/cgibin/doc?ptc/2007-07-07.

  • OMG. (2007b). MOF models to text transformation language—final adopted specification. Technical Report ad/06-09-03, Object Management Group. http://www.lsi.us.es/~wiki/dsdm/images/1/1d/Mof2Text.pdf.

  • OMG. (2007c). UML superstructure, v2.1.1. Technical Report 07-02-05, Object Management Group. http://www.omg.org/cgi-bin/doc?formal/07-02-05.

  • Radice, R. A. (2001). High quality low cost software inspection. Andover, MA: Paradoxon Publishing.

  • Rocha, A. C. O., Machado, P. D. L., & Ramalho, F. (2009). Automação da técnica de inspeção guiada usando MDA e simulação de modelos. In 3rd Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), pp. 182–194.

  • Rocha, A. C. O., Machado, P. D. L., & Ramalho, F. (2010). Automating inspection of design models guided by test cases. In Proceedings of 22nd IFIP international conference on testing software and systems: Short papers, pp. 73–78.

  • Sabaliauskaite, G. (2004). Investigating defect detection in object-oriented design and cost-effectiveness of software inspection. PhD thesis, Osaka University, Japan.

  • Sabaliauskaite, G., Matsukawa, F., Kusumoto, S., & Inoue, K. (2002). An experimental comparison of checklist-based reading and perspective-based reading for UML design document inspection. In Proceedings of the 2002 international symposium on empirical software engineering, IEEE Computer Society, Washington, DC, USA, ISESE ’02, p. 148.

  • Sauer, C., Jeffery, D. R., Land, L., & Yetton, P. (2000). The effectiveness of software development technical reviews: A behaviorally motivated program of research. IEEE Transactions on Software Engineering, 26, 1–14.

    Article  Google Scholar 

  • Shull, F., Rus, I., & Basili, V. (2000). How perspective-based reading can improve requirements inspections. Computer, 33(7), 73–79.

    Article  Google Scholar 

  • Silva, L. F. S., & Travassos, G. H. (2004). Tool-supported unobtrusive evaluation of software engineering process conformance. In Proceedings of the 2004 international symposium on empirical software engineering, IEEE Computer Society, Washington, DC, USA, ISESE ’04, pp. 127–135.

  • Sommerville, I. (2010). Software engineering (9th ed.). Reading, MA: Addison-Wesley.

    Google Scholar 

  • Thelin, T., Runeson, P., & Regnell, B. (2001). Usage-based reading—an experiment to guide reviewers with use cases. Information and Software Technology, 43(15), 925–938.

    Article  Google Scholar 

  • Travassos, G. H., Shull, F., Carver, J., & Basili, V. R. (1999). Reading techniques for oo design inspections. In XIV Brazilian symposium on software engineering.

  • Winkler, D. (2008). Improvement of defect detection with software inspection variants: A large-scale empirical study on reading techniques and experience. Saarbrücken: VDM Verlag.

Download references

Acknowledgments

This work was supported by CNPq Grants 484643/2011-8 and 560014/2010-4. Also, this work was partially supported by the National Institute of Science and Technology for Software Engineering, Footnote 4 funded by CNPq/Brasil, Grant 573964/2008-4. First author was also supported by CNPq.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrícia D. L. Machado.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rocha, A.C.O., Ramalho, F. & Machado, P.D.L. Automating test-based inspection of design models. Software Qual J 23, 3–28 (2015). https://doi.org/10.1007/s11219-013-9219-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-013-9219-x

Keywords

Navigation