CodeMI - Source Code as XML Metadata Interchange Uma Representação de Código-fonte para Coleta de Métricas
Resumo
Representações de software baseadas em XML possuem nível de abstração adequado para o processamento, análise e manipulação de código fonte por ferramentas. Estas representações fornecem detalhes expressivos sobre a estrutura do código-fonte. A alta verbosidade de algumas representações e a exposição de detalhes do código-fonte em excesso dificultam a realização de estudos de evolução de softwares industriais. Neste artigo, apresentamos CodeMI, uma representação de código-fonte baseadaem XML que utiliza a extensão do formato XMI para definir elementos, com ênfase na estrutura do código-fonte, que viabilizem a coleta de métricas sem revelar a dinâmica de execução do software.
Referências
Badros G. J., “JavaML: A Markup Language for Java Source Code”, In Proceedings of the 9th Int. Conf. On the World Wide Web (WWW9), Amsterdam, Netherlands, May 2000.
Holt, R. C., Winter, A., Schürr, A. “GXL: Toward a Standard Exchange Format”, in Proc. of the 7th Working Conf. on Reverse Engineering (WCRE’00), Brisbane, Australia, pp. 162–171, November 2000.
Levine J. R., Lex & YACC. O’Reilly & Associates, Inc., Sebastopol, California, 2nd edition, 1992.
Maletic, J.I., Collard, M.L. and Marcus, A., “Source Code Files as Structured Documents”, in Proc. of the10th Int. Workshop on Program Comprehension (IWPC ’02), Paris, France, pp. 289 292, June, 2002.
Mamas, E. and Kontogiannis, C., “Towards Portable Source Code Representations Using XML”, in Proc, of the 7th
Working Conf. on Reverse Engineering (WCRE’00), Brisbane, Australia, pp. 172-18, November 2000.
McCabe, T.J., “A Complexity Measure”, IEEE Transactions on Software Engineering, 1976.
Mendonça, N. C., Maia, P. H. M., Fonseca, L. A., and Andrade, R. M. C. (2004), “RefaX: A Refactoring Framework Based on XML”, In 20th. IEEE International Conference on Software Maintenance (ICSM 2004), pages 147-156, IEEE Computer Society.
MOF. Meta Object Facility Specification, Version 1.4. Object Management Group 2002a.
Seguin, C., JRefactory Home. ACM, 2000. Disponível em: http://jrefactory.sourceforge.net
Xjava 1.1. BeautyJ Home Page. Disponível em: http://beautyj.berlios.de/beautyJ.html. Acessado em: 11/06/2008.
XMI 2.1. XML Metadata Interchange Specification, Version 2.1. OMG Document Number: formal/2007-12-01. Disponível em: http://www.omg.org/spec/XMI/2.1/PDF
XML. Extensible Markup Language (XML). W3C Recommendation 16 august 2006. Disponível em: http://www.w3.org/TR/REC-xml/
XPath 1.0: XML Path Language. W3C Recommendation 16, November 1999. Disponível em: http://www.w3.org/TR/xpath
XQuery 1.0: An XML Query Language. W3C Recommendation 23, January 2007. Disponível em: http://www.w3.org/TR/xquery/
XSLT 2.0: Extensible Stylesheet Language for Transformation. W3C Working Draft 14 February 2001. Disponível em: http://w3.org/TR/xslt20req
UML 2.1.2. Unified Modeling Language. Version 2.1.2. OMG Document Number formal/2007-11-04. Disponível em: http://www.omg.org/spec/UML/2.1.2/