6 research outputs found
Uma ferramenta de análise de robustez para a melhoria da qualidade de sistemas de software
A software product is considered reliable if it can deliver its functions the way they were
defined. Robustness is a sub-attribute of reliability and concerns the software's ability to
respond specifically to external defects. The exception handling mechanisms should ensure
the robustness of the systems. However, in practice it is difficult to achieve such a goal, either
by misuse of existing models, either by deficiency of the models themselves. Moreover, it is
clear that developers dealing exceptions properly end up having serious problems in
productivity, while its neglect although more productive, tends to generate less reliable
systems and subsequent rising cost of post-production. Some real disasters were directly
related to the neglect of exception handling, for example: the case of the European Ariane 5
rocket that self-destructed soon after launch, and the radar system Brazilian X-4000 which
was nominated as one of the causes the crash of Gol Flight 1907 in 2006. In this context, this
work presents a static analysis tool exceptional flow eFlowMining, focused on improving the
robustness of applications. NET. It allows the developer: view metrics collected on the
exceptional behavior; analyze the exceptional flow via a graphical representation as a tree;
identify possible bugs between different versions of the same application, and quickly locate
the types of exceptions thrown and their their handlers. All information collected is stored in
databases to enable searches and comparisons of the analyzes. The evaluation tool was
divided into two phases. The first aimed to show the consistency and accuracy of the tool
relative to the different programming languages supported by the platform. NET. The second
assessed how the tool helped developers identify possible defects between different versions
of the same software system.Um produto de software é considerado confiável quando ele consegue entregar suas
funcionalidades da forma como elas foram definidas. Robustez é um sub-atributo de
confiabilidade e diz respeito à capacidade do software em reagir especificamente a
defeitos externos. Os mecanismos de tratamento de exceções deveriam garantir a robustez
dos sistemas. Entretanto, na prática é difícil atingir tal objetivo, seja por mau uso dos
modelos existentes, seja pela deficiência dos próprios modelos. Além disso, percebe-se
que os desenvolvedores que tratam as exceções de maneira adequada acabam tendo
problemas sérios de produtividade, ao passo que o seu negligenciamento embora seja mais
produtivo, tende a gerar sistemas menos confiáveis e com subseqüente aumento do custo
de pós-produção. Alguns desastres reais tiveram relação direta com o negligenciamento
do tratamento de exceções, por exemplo: o caso do foguete europeu Ariane 5 que se autodestruiu
logo após o lançamento, e do sistema do radar brasileiro X-4000 que foi indicado
como uma das causas do acidente aéreo do vôo GOL 1907 em 2006. Nesse contexto, este
trabalho apresenta a ferramenta de análise estática do fluxo excepcional eFlowMining,
focada na melhoria da robustez de aplicações .NET. Ela permite que o desenvolvedor:
visualize métricas coletadas sobre o comportamento excepcional; analise o fluxo
excepcional através de uma representação gráfica em forma de árvore; identifique
possíveis bugs entre diferentes versões da mesma aplicação; e localize de forma rápida os
tipos de exceções lançadas e seus respectivos tratadores. Todas as informações coletadas
são armazenadas em bancos de dados a fim de possibilitar consultas e comparações das
análises realizadas. A avaliação da ferramenta foi dividida em duas fases. A primeira teve
o objetivo de mostrar a compatibilidade e a precisão da ferramenta em relação às
diferentes linguagens de programação suportadas pela plataforma .NET. A segunda
avaliou como a ferramenta ajudou os desenvolvedores a identificar possíveis defeitos
entre diferentes versões do mesmo sistema de software