Avaliação comparativa do impacto do emprego de técnicas de programação defensiva na segurança de sistemas críticos.

Com o objetivo da redução do tempo de desenvolvimento de produtos comerciais, hardwares padronizados, como microcontroladores e microprocessadores dedicados, têm sido largamente empregados em aplicações críticas, transferindo para o software elementos até então de responsabilidade exclusiva do hardw...

Full description

Bibliographic Details
Main Author: Secall, Jorge Martins
Other Authors: Camargo Júnior, João Batista
Format: Others
Language:pt
Published: Biblioteca Digitais de Teses e Dissertações da USP 2007
Subjects:
Online Access:http://www.teses.usp.br/teses/disponiveis/3/3141/tde-06072007-154142/
Description
Summary:Com o objetivo da redução do tempo de desenvolvimento de produtos comerciais, hardwares padronizados, como microcontroladores e microprocessadores dedicados, têm sido largamente empregados em aplicações críticas, transferindo para o software elementos até então de responsabilidade exclusiva do hardware. Técnicas de programação defensiva são mecanismos preventivos contra a ocorrência de falhas de hardware ou de software. Para a verificação da segurança de sistemas de aplicações críticas, técnicas de injeção de falhas foram desenvolvidas, propiciando o teste dos mecanismos de tolerância a falhas em condições muito semelhantes às do ambiente operacional real. A introdução de técnicas de programação defensiva aumenta a segurança dos sistemas de aplicações críticas. Não há, na literatura pesquisada, qualquer referência a uma avaliação quantitativa das técnicas de programação defensiva. Esta tese é a descrição de um trabalho experimental, que visa esta avaliação quantitativa, e se organiza em algumas etapas. Primeiro, algumas técnicas de programação defensiva são apresentadas, caracterizadas e eleitas como objeto de avaliação. A seguir, técnicas de injeção de falhas são descritas e uma delas é eleita como meio de teste do trabalho experimental. A partir daí, as técnicas de programação defensiva são verificadas sob o enfoque da técnica de injeção de falhas escolhida. O resultado é uma avaliação quantitativa relativa da eficácia de algumas técnicas de programação defensiva na capacidade de tolerância a falhas inseguras de sistemas de aplicações críticas. Ao final, indicações de continuidade do trabalho são apresentadas. O ambiente metroferroviário, em que trabalha o autor, foi utilizado como estudo de caso. Entretanto, as considerações e conclusões desta tese se aplicam a qualquer sistema de missão critica. === Aiming the reduction of commercial systems` time to the market, standardized hardware, as microcontrollers and embedded microprocessors, has been broadly employed for critical applications, transferring to the software issues that once exclusively relied on the hardware design. Defensive programming techniques are preventive engines against hardware and software faults. In order to verify the safety of critical application systems, fault injection techniques were developed, allowing for the testing of fault tolerant techniques under conditions quite close to actual operational environments. The introduction of defensive programming techniques increases the safety of critical application systems. There are no references, on a large research base, on quantitative evaluations of defensive programming techniques. This thesis describes an experimental work towards a relative quantitative evaluation, organized in a few stages. First, some defensive programming techniques are shown, characterized and selected as the evaluation target. Following, fault injection techniques are described and one of them is selected as the agent of the experimental work. From this point on, the defensive programming techniques are verified under the fault injection technique chosen. The result is a relative quantitative evaluation on the efficiency of some defensive programming techniques on the unsafe fault tolerance capacity of critical application systems. Finally, indications for further work are presented. The railway environment, where the author works, was employed as a case study. However, the reasoning and the conclusions of this thesis are applicable to any critical mission system.