Sumariza¸c˜ ao de Rastros de Execu¸c˜ ao para Recupera¸c˜ ao de Vis˜ oes de Alto N´ ıvel em Sistemas Orientados a Objetos Luciana L. Silva, Sandra de Amo e Marcelo de A. Maia Universidade Federal de Uberlˆ andia, Faculdade de Computa¸ c˜ ao, Brasil luciana.lourdes@gmail.com,deamo@ufu.br,marcmaia@facom.ufu.br Resumo. V´ arias abordagens para facilitar a compreens˜ ao do compor- tamento de sistemas de softwares tˆ em sido propostas. No entanto, n˜ ao existe uma abordagem amplamente aceita que recupera informa¸ c˜ oes em alto n´ ıvel de abstra¸c˜ ao sobre a estrutura e comportamento de sistemas complexos. Neste trabalho ´ e apresentada uma abordagem para simpli- ficar tarefas de compreens˜ ao de programas orientados a objetos. A abor- dagem prop˜ oe uma t´ ecnica para reconstru¸ c˜ao de diagramas estruturais e comportamentais de alto n´ ıvel baseada na an´ alise de rastros de execu¸c˜ ao sumarizados. ´ E apresentada avalia¸ c˜ ao do desempenho da abordagem em termos de precis˜ ao e recall em dois sistemas p´ ublicos de terceiros, dentre eles o servidor Web Tomcat. O resultado sugere a viabilidade da abor- dagem para uso em sistemas reais de larga escala. Palavras chave: Sumariza¸c˜ ao; Rastros de Execu¸ c˜ ao; Recupera¸ c˜ ao de Ar- quitetura; Vis˜ oesDinˆamicas. 1 Introdu¸c˜ ao V´ arias tentativas para facilitar a compreens˜ ao de sistemas de software surgiram baseadas nas hip´ oteses que o c´ odigo fonte ´ ea´ unica fonte de informa¸ c˜ ao confi´ avel sobre o sistema dispon´ ıvel [1], [3], [5], [7]. T´ ecnicas atuais para compreens˜ ao de programas s˜ao insuficientes para habilitar desenvolvedores para compreender rapidamente a implementa¸c˜ ao de uma caracter´ ıstica do software. IDEs recentes fornecem ferramentas de depura¸c˜ ao importantes para compreender o comporta- mento do sistema, mas fornecem somente vis˜ oes rudimentares sobre a arquitetura que s˜ao definidas principalmente pela organiza¸c˜ ao de pacotes do projeto. Existem v´ arias t´ ecnicas para ajudar a compreens˜ ao de sistemas em alto n´ ıvel de abstra¸ c˜ ao [9], [11]. Estas abordagens usam informa¸c˜ oes est´aticas sobre o c´ odigo ou informa¸c˜ oes dinˆ amicas de programas, como rastros de execu¸c˜ ao ou mesmo uma combina¸c˜ ao de ambas [6]. Rastros de execu¸ c˜ ao tˆ em sido aplicados para identificar quais partes do c´ odigo implementam funcionalidades espec´ ıficas [10]. No entanto, rastros de execu¸ c˜ aos˜aodif´ ıceis de analisar porque mesmo para cen´ arios pequenos de sistemas do mundo real, um rastro pode ter centenas de milhares ou milh˜ oes de chamadas de m´ etodos.