Especificação e Monitoramento Dinâmico da Política de Tratamento de Exceções
tratamento de exceções; monitoramento; análise dinâmica; política de tratamento de exceções.
A política de tratamento de exceções de um sistema compreende o conjunto de regras de design que especificam o comportamento e tratamento de exceções (como as exceções devem ser manuseadas e disparadas). Essa política é geralmente não documentada e definida implicitamente pelo arquiteto do sistema. Por essa razão os desenvolvedores podem pensar que apenas espalhando código de bloco try-cach no código fonte podem lidar com as condições excepcionais do sistema. Esta falta de informação pode transformar o tratamento de exceções muito complexo e pouco confiável. Este trabalho propõe uma linguagem específica de domínio, chamada ECL (Exception Contract Language) para especificar a política de tratamento de exceções e uma ferramenta de monitoramento em tempo de execução que verifica dinamicamente a política de tratamento de exceções, essa ferramenta é chamada de DAEH (Dynamic Analysis Of Exception Handling). A ferramenta de monitoramento é baseada em uma biblioteca de aspectos, que pode ser adicionada a qualquer sistema Java sem a necessidade de alterar o código fonte da aplicação. Nós aplicamos essa abordagem para um sistema de base WEB e a quatro versões do conhecido framework JUnit. Os resultados indicam que esta abordagem pode ser usada para expressar e automaticamente verificar a política de tratamento de exceção de um sistema, e, consequentemente apoiar o desenvolvimento de sistemas Java mais robustos.