Métodos formais algébricos para geração de invariantes

E bem sabido que a automacao e a eficacia de metodos de verificacao formal de softwares, sistemas embarcados ou sistemas hibridos, depende da facilidade com que invariantes precisas possam ser geradas automaticamente a partir do codigo fonte. Uma invariante e uma propriedade, especificada sobre um local especifico do codigo fonte, e que sempre se verifica a cada execucao de um sistema. Apesar dos progressos enormes ao longo dos anos, o problema da geracao de invariantes ainda esta em aberto para tanto programas nao-lineares discretos, como para sistemas nao-lineares hibridos. Nesta tese, primeiramente, apresentamos novos metodos computacionais que podem automatizar a descoberta e o fortalecimento de relacoes nao-lineares entre as variaveis de um programa que contem lacos nao-lineares, ou seja, programas que exibem relacoes polinomiais multivariadas e manipulacoes fracionarias. Alem disso, a maioria dos sistemas de seguranca criticos, tais como avioes, automoveis, produtos quimicos, usinas de energia e sistemas biologicos, operam semanticamente como sistemas hibridos nao-lineares. Nesse trabalho, apresentamos poderosos metodos computacionais que sao capazes de gerar bases de ideais polinomiais de invariantes nao-lineares para sistemas hibridos nao-lineares. Em segundo lugar, apresentamos metodos pioneiros de verificacao que automaticamente gerem bases de invariantes expressas por series de potencias multi-variaveis e por funcoes transcendentais. Discutimos, tambem, a sua convergencia em sistemas hibridos que exibem modelos nao lineares. Verificamos que as series de potencia geradas para invariantes sao, muitas vezes, compostas pela expansao de algumas funcoes transcendentais bem conhecidas, tais como "log" e "exp". Assim, apresentam uma forma analisavel fechada que facilita o uso de invariantes na verificacao de propriedades de seguranca. Para cada problema de geracao de invariantes estabelecemos condicoes suficientes, muito gerais, que garantem a existencia e permitem o calculo dos ideais polinomiais para situacoes que nao podem ser tratadas pelas abordagens de geracao invariantes hoje conhecidas. Finalmente, estendemos o dominio de aplicacoes, acessiveis atraves de metodos de geracao de invariantes, para a area de seguranca. Mais precisamente, fornecemos uma plataforma extensivel baseada em invariantes pre-computadas que seriam usadas como assinaturas semânticas para analise de intrusos ("malwares") e detecao dos ataques de intrusoes mais virulentos. Seguindo a concepcao de tais plataformas, propomos sistemas de deteccao de intrusao, usando modelos gerados automaticamente, onde as chamadas de sistema e de funcoes sao vigiados pela avaliacao de invariantes, pre-calculadas para denunciar qualquer desvio observado durante a execucao da aplicacao. De modo abrangente, nesta tese, propomos a reducao de problemas de geracao de invariantes para problemas algebricos lineares. Ao reduzir os problemas de geracao de invariante nao-triviais de sistemas hibridos nao-lineares para problemas algebricos lineares relacionados, somos capazes de ultrapassar as deficiencias dos mais modernos metodos de geracao de invariante hoje conhecidos permitindo, assim, a geracao automatica e eficiente de invariantes para programas e sistemas hibridos nao lineares complexos. Tais metodos algebricos lineares apresentam complexidades computacionais significativamente inferiores aquelas exigidas pelos os fundamentos matematicos das abordagens usadas hoje, tais como a computacao de bases de Grobner, a eliminacao de quantificadores e decomposicoes cilindricas algebricas Abstract