Melhorando a Dependabilidade de Componentes com o uso de Wrappers
Resumo
Wrappers são utilizados para fazer com que os componentes por eles protegidos se comportem da maneira especificada e robusta. Eles são úteis quando se quer adotar um componente do qual não se tem informação quanto à sua confiabilidade. Como assegurar que o componente protegido pelo wrapper atende os requisitos do sistema? Como assegurar que o wrapper realmente protege o sistema contra os defeitos do componente? Este trabalho apresenta o uso da técnica de injeção de falhas para responder a estas perguntas. Um estudo de caso é apresentado para ilustrar a metodologia proposta como também os resultados dos experimentos que foram obtidos.
Referências
Beydeda, S. , Volker, G.: State of the art in testing components. Proc. of the International Conference on Quality Software, (2003).
Christmansson, J., Chillarege, R. “Generation of an Error Set that Emulates Software Faults”. Proc. of The 26th IEEE Fault Tolerant Computing Symp. – FCTS-26, Sendai, Japan, (1996).
Chillarege, R. "Orthogonal Defect Classification". Handbook of Software Reliability Engineering, ch. 9, M. Lyu, Ed.: IEEE Computer Society Press, McGraw-Hill, (1995).
De Millo, R. A., Li, T., Mathur, A. P. Architecture or TAMER: A Tool for dependability analysis of distributed fault-tolerant systems. Purdue University, (1994).
Durães, J., Madeira, H. “Emulation of Software Faults by Educated Mutations at Machine-Code Level”. Proc. of The Thirteenth Int. Symposium on Software Reliability Engineering – ISSRE’02, Annapolis, USA, (2002).
Durães, J., Madeira, H. “Definition of Software Fault Emulation Operators: A Field Data Study”. Proc. of The Int. Conference on Dependable Systems and Networks – DSN2003, pp. 105-114, San Francisco, USA, (2003).
Fetzer, C., Högstedt, K., Felber, P. Automatic Detection and Masking of Non-Atomic Exception Handling. Proc. of DSN 2003, San Francisco, USA, pp. 445-454, (2003).
Garlan, D., Allen, R., Ockerbloom, J.: Architecture Mismatche: Why Reuse is so Hard. IEEE Software, Vol. 12(6), pp. 17-26, (1995).
Hsueh , Mei-Chen; Tsai, Timothy; Iyer, Ravishankar. “Fault Injection Techniques and Tools”. IEEE Computer, pag 75-82, (1997).
Koopman, P. Siewiorek, D, DeVale, K., DeVale, J., Fernsler, K., Guttendorf, D., Kropp, N., Pan, J., Shelton, C., Shi, Y.: Ballista Project : COTS Software Robustness Testing. Carnegie Mellon University. Disponível na World Wide Web em: http://www.ece.cmu.edu/~koopman/ballista/, (2003), acessado em 16/08/2005.
Madeira, H. Vieira, M., Costa, D. “On the Emulation of Software Faults by Software Fault Injection.”, Proc. of the Int. Conf. on Dependable System and Networks – DSN00, NY, USA. (2000).
Martins, E., Rubira, C. M. F., Leme N.G.M.: Jaca: A reflective fault injection tool based on patterns. Proc of The 2002 International Conference on Dependable Systems & Networks, Washington D.C. pp. 483-487, (2002).
Ng, W., Aycock, C., Chen, P. "Comparing Disk and Memory's Resistance to Operating System Crashes". Proc. of The 7th IEEE International Symposium on Software Reliability Engineering, ISSRE'96, New York, NY, USA, (1996).
Rosenberg, L, Stapko, R, Gallo, A Risk-based Object Oriented Testing. Proc. Of the 13 th International Software / Internet Quality Week (QW2000) , San Francisco, California USA, (2000).
SimuRed, Multicomputer Network Simulator, http://tapec.uv.es/simured/index_en.php, março/06.
Voas, J. An Approach to Certifying Off-the-Shelf Software Components. IEEE Computer, Vol. 31(6), pp. 53-59, (1998).
Voas, J. M.,Charron, F., McGraw, G., Miller, K.,Friedman, M. Predicting how Badly Good Software can Behave. IEEE Software, pp. 73-83, (1997).
Voas, J., McGraw, G.: Software Fault Injection: Inoculating Programs against Errors. John Wiley & Sons, New York, EUA, (1998).
Voas, J.: Marrying Software Fault Injection Technology Results with Software Reliability Growth Models. Fast Abstract ISSRE 2003, Chillarege Press, (2003).
Weyuker, E.J. “Testing Component-Based Software: A Cautionary Tale”. IEEE Software, pp 54-59, (1998).