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.
Similar content being viewed by others
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.
Fagan, M. E. (1986). Advances in software inspections. IEEE Transactions on Software Engineering, 12(7), 744–751.
Gilb, T., & Graham, D. (1994). Software inspection. Reading, MA: Addison-Wesley.
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.
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.
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.
Laitenberger, O., & DeBaud, J. M. (2000). An encompassing life cycle centric survey of software inspection. Journal of Systems and Software, 50(1), 5–31.
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.
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.
Lyytinen, K., Loucopoulos, P., Mylopoulos, J., & Robinson, W. (eds) (2009). Design requirements engineering: A ten-year perspective. Berlin: Springer.
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.
McGregor, J. D., & Sykes, D. A. (2001). A practical guide to testing object-oriented software. Object technology series. Reading, MA: Addison-Wesley.
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.
Shull, F., Rus, I., & Basili, V. (2000). How perspective-based reading can improve requirements inspections. Computer, 33(7), 73–79.
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.
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.
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.
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
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-013-9219-x