DEPAnalyzer: um Analisador Estático de Dependências para Programas Java

  • Silvana Campos de Azevedo UFRGS
  • Patrícia Kayser Vargas UFRGS / Centro Universitáio La Salle
  • Jorge Luis Victória Barbosa UFRGS / UCPel
  • Adenauer Corrêa Yamin UFRGS / UCPel
  • Cláudio Fernando Resin Geyer UFRGS

Resumo


Este trabalho apresenta um modelo de análise estática para programas Java, denominado DEPAnalyzer (DEPendencies Analyzer). O DEPAnalyzer tem por objetivo a geração de informações sobre dependências entre as classes de um programa. As classes são as entidades estáticas que dão origem, em execução, a grupos de objetos. A comunicação entre grupos de objetos estabelece o relacionamento de dependência entre eles. Esta informação pode ser usada na alocação destes objetos em uma arquitetura distribuída. Sabendo as dependências, pode-se manter perto as entidades que possuam um grau maior de acoplamento.

Palavras-chave: Análise estática, Programação Distribuída, Programação Orientada a Objetos

Referências

AGESEN, O. The Cartesian Product Algorithm: Simple and Precise Type Inference of Parametric Polymorphism European Conference on Object-Oriented Programming. In: ECOOP: 9th European Conference on Object-Oriented Programming. August, 1995. Disponível em: http://citeseer.nj.nec.com/agesen95cartesian.html. Acessado em 18 de junho de 2001.

AGRAWAL, G. Simultaneous Demand-Drive Dataflow and Call Graph Analysis, Procedings of International Conference on Software Maintainance. September, 1999. Disponível em: http://citeseer.nj.nec.com/417649.html. Acessado em 17 de maio de 2001.

ARONSSON, Peter; FRITZSON, Peter. Static Scheduling of Sequential Java Programs for Multi-Processors. In: JOSES: Java Optimization Strategies for Embedded Systems. April, 2001. Disponível em: http://i44w3.info.uni-karlsruhe.de/~josesworkshop/. Acessado em 07 de maio de 2001.

AZEVEDO, S. C.; BARBOSA, J. L. V.; GEYER, F. R. Automatização da Análise Global no modelo GRANLOG. In: XXV Conferencia Latino Americana de Informática, Asunción-Paraguai. Anais.. 1999, v. I, p. 601-612.

CORTESI, et ali. Complementation in Abstract Interpretation. ACM Transactions on Programming Languages and Systems, vol.19, No. 1, 1997, pp.7-47.

DAMS, D.; GERTH, R. Abstract Interpretation of Reactives Systems. ACM Transactions on Programming Languages and Systems, Vol. 19, No. 2, 1997, pp.253-291.

DEWES, Holger. PROBST, Christian. Static Method Call in Java. In: JOSES: Java Optimization Strategies for Embedded Systems. April, 2001. Disponível em: http://i44w3.info.uni-karlsruhe.de/~josesworkshop/ Acessado em 6 de maio de 2001.

ENSELlNG, Oliver. Build your own languages with JavaCC, December 2000. Disponível em: http://www.javaworld.com/jw-12-2000/jw-1229-cooltools.html Acessado em 17 de junho de 2001.

FERRARI, Débora N. Um Modelo de Replicação em Ambientes que Suportam Mobilidade. PPGCC/UFRGS, 2001. Dissertação de Mestrado

JavaParty - A distributed companion to Java. Disponível em http://wwwipd.ira.uka.de/JavaParty/. Acessado em 06/05/2001.

MANTA - F as ta Parallel Java. Disponível em http://www.cs.vu.nl/~rob/manta/index.html. Acessado em 06/05/2001.

SUN Microsystems. The Java Hotspot Performance Engine Architecture. Disponível em: http://java.sun.com/products/hotspot/whitepaper.html. Acessado em 6 de maio de 2001.

TOP 500 Supercomputer site. http://www.top500.org/. Acessado em 6 de maio de 2001.

TYMA, P. Why are we using Java again? Communications of the ACM, New York, v.41, n.6, p.38-41,june 1998.
Publicado
10/09/2001
AZEVEDO, Silvana Campos de; VARGAS, Patrícia Kayser; BARBOSA, Jorge Luis Victória; YAMIN, Adenauer Corrêa; GEYER, Cláudio Fernando Resin. DEPAnalyzer: um Analisador Estático de Dependências para Programas Java. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 2. , 2001, Pirenópolis. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2001 . p. 135-141. DOI: https://doi.org/10.5753/wscad.2001.19133.