Desenvolvimento de software robusto / Development of Robust Software

AUTOR(ES)
DATA DE PUBLICAÇÃO

2006

RESUMO

A produção de software correto sempre foi um dos grandes desafios da Ciência da Computação. No entanto, o tamanho do software, a velocidade da máquina e os requisitos envolvidos combinam-se de tal forma que a complexidade resultante excede à capacidade humana de antever situações inesperadas. Portanto o software não tem que ser apenas correto, mas também robusto para sobreviver a tais eventos. Este trabalho discute vários aspectos envolvidos com a correção e a robustez do software e propõe uma abordagem técnica prover a robustez, mesclando conceitos provenientes da área de correção com os de tolerância a falhas de software. Uma vantagem adicional da técnica é que ela eleva a confiança na correção Os pilares deste trabalho são o uso de asserções, organizadas sob a forma de contrato de software como uma forma de perseguir a sua correção, associado à técnica de bloco de restauração, como uma forma de contornar situações inesperadas. A comunicação que uma asserção não foi satisfeita é feita com o emprego do mecanismo de tratamento de exceção A linguagem de programação C++ é utilizada como veículo para ilustrar a técnica proposta

ASSUNTO(S)

tolerância a falhas de software mecanismo de tratamento de exceções robustness design by contract engenharias qualidade do software engenharia de software contrato de software correctness reliability c++ programming language manutenção de software ciclo de vida correção robustez confiabilidade linguagem de programação c++ software fault tolerance exception handling mechanism software robusto contrato de software

Documentos Relacionados