Técnicas de Inspeção para Diagramas de Classes UML: Uma Revisão Sistemática
Resumo
Neste artigo analisamos as técnicas de inspeção para diagramas de classes UML - uma linguagem de modelagem para uso em projetos de software. Este estudo tem como objetivo investigar o estado da arte das técnicas de inspeção que verificam diagramas de classes, estabelecendo como estes diagramas costumam ser inspecionados, que tipos de erros e inconsistências procura-se descobrir e qual o custo-benefício de sua aplicação. Para atingir este objetivo, realizamos uma revisão sistemática da literatura, recuperando todos os artigos considerados relevantes e apresentando cada uma das técnicas descobertas, destacando seus pontos fortes e fracos e suas possíveis lacunas
Referências
Bibi,S.,Mazhar,S.,Minhas,N.M.,andAhmed,I.(2014). Formalmethodsforcommer- cial applications issues vs. solutions. Journal of Software Engineering and Applicati- ons, 07(08):679–685.
Cabot, J., Claris´o, R., and Riera, D. (2014). On the verification of UML/OCL class diagrams using constraint programming. Journal of Systems and Software, 93:1–23.
Chavez, H. M. and Shen, W. (2009). Finding inconsistency for UML-based composition atprogramlevel. In2009ICSEWorkshoponModelinginSoftwareEngineering.IEEE.
Cheng, L. and Zhang, Y. (2011). Model checking security policy model using both UML static and dynamic diagrams. In Proceedings of the 4th international conference on Security of information and networks - SIN 11. ACM Press.
Clariso, R., Gonzalez, C. A., and Cabot, J. (2019). Smart bound selection for the veri- fication of UML/OCL class diagrams. IEEE Transactions on Software Engineering, 45(4):412–426.
Ekanayake, E. M. N. K. and Kodituwakku, S. R. (2015). Consistency checking of UML class and sequence diagrams. In 2015 8th International Conference on Ubi-Media Computing (UMEDIA). IEEE.
Evans, A. Reasoning with UML class diagrams. In Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques. IEEE Comput. Soc.
Fagan, M. E. (1976). Design and code inspections to reduce errors in program develop- ment. IBM Systems Journal, 15(3):182–211.
Felizardo, K. R. (2004). Apoio computacional para inspec¸˜ao de software. INFOCOMP, 3(2):14–18.
George, R. and Samuel, P. (2018). Fixing class design inconsistencies using self regula- ting particle swarm optimization. Information and Software Technology, 99:81–92.
Geraldi, R. T. (2017). Towards initial evidence of SMartyCheck for defect detection on product-line use case and class diagrams. Journal of Software, 12(5):379–392.
Guedes, G. T. A. (2018). UML 2 - Uma Abordagem Pr´atica. Novatec Editora
Hilken, F. and Gogolla, M. (2016). Verifying linear temporal logic properties in UML/OCL class diagrams using filmstripping. In 2016 Euromicro Conference on Di- gital System Design (DSD). IEEE.
Kaneiwa, K. and Satoh, K. (2010). On the complexities of consistency checking for restricted UML class diagrams. Theoretical Computer Science, 411(2):301–323.
Khan., A. H., Rauf., I., and Porres., I. (2013). Consistency of uml class and statechart diagrams with state invariants. In Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,, pages 14–24. INSTICC, SciTePress
Kitchenham,B.(2004). Proceduresforperformingsystematicreviews. Keele, UK, Keele University, 33(2004):1–26.
Lopes,A.,Campos,U.,Conte,T.,anddeSouza,C.(2018).ComD2: Familyoftechniques forinspectingdefectsinmodelsthataffectteamcommunication. InProceedingsofthe 30th International Conference on Software Engineering and Knowledge Engineering. KSI Research Inc. and Knowledge Systems Institute Graduate School.
Mondini,F.(2008). Ologicismo,oformalismoeointuicionismoeseusdiferentesmodos de pensar a matem´atica. EBRAPEM, 12, pages 1–10.
Mumtaz,H.,Alshayeb,M.,Mahmood,S.,andNiazi,M.(2019). AsurveyonUMLmodel smells detection techniques for software refactoring. Journal of Software: Evolution and Process, 31(3):e2154.
Myers, G. J., Sandler, C., and Badgett, T. (2011). The Art of Software Testing. Wiley.
Neto,C.,Neto,A.,Kalinowski,M.,deOliveira,D.M.,Sabou,M.,Winkler,D.,andBiffl, S. (2019). Using model scoping with expected model elements to support software model inspections: Results of a controlled experiment. In Proceedings of the 21st International Conference on Enterprise Information Systems. SCITEPRESS - Science and Technology Publications.
Sabaliauskaite, G., Matsukawa, F., Kusumoto, S., and Inoue, K. (2003). Further investi- gations of reading techniques for object-oriented design inspection. Information and Software Technology, 45(9):571–585.
Shaikh, A., Claris´o, R., Wiil, U. K., and Memon, N. (2010). Verification-driven slicing of UML/OCL models. In Proceedings of the IEEE/ACM international conference on Automated software engineering - ASE 10. ACM Press.
Shaikh, A., Mahoto, N. A., Saddar, S., and Shaikh, M. (2018). A technique for detec- tion of violating property among UML/OCL class diagram. In 2018 5th International Multi-Topic ICT Conference (IMTIC). IEEE.
Sulaiman, N., Ahmad, S. S. S., and Ahmad, S. (2019). Logical approach: Consistency rules between activity diagram and class diagram. International Journal on Advanced Science, Engineering and Information Technology, 9(2):552.
Szlenk, M. (2006). Formal semantics and reasoning about UML class diagram. In 2006 International Conference on Dependability of Computer Systems. IEEE.
Travassos, G., Shull, F., Fredericks, M., and Basili, V. R. (1999). Detecting defects in object-oriented designs. In Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA 99. ACM Press.
Travassos,G.H.,Shull,F.,Carver,J.C.,andBasili,V.R.(2002). Readingtechniquesfor oo design inspections.
Wang, K. and Shen, W. (2007). Runtime checking of UML association-related cons- traints. In Fifth International Workshop on Dynamic Analysis (WODA 07). IEEE.
Wohlin, C. (2014). Guidelines for snowballing in systematic literature studies and a re- plicationinsoftwareengineering. InProceedingsofthe18thInternationalConference on Evaluation and Assessment in Software Engineering - EASE 14. ACM Press.