A Deus pela vida e pela fé que me deu coragem durante os momentos difíceis.Aos meus pais, Taqueshi e Tamiko, pela formação que me deram, pela confiança e amor depositados em mim, pela força e pela compreensão de minha ausência em virtude do trabalho.Aos meus irmãos, Michel e Neise, pelo carinho e incentivo. Ao Luciano, por todo amor e compreensão, sempre ao meu lado em todos os momentos. Ao meu orientador, Maldonado, pelo apoio e confiança durante o trabalho. Ao Ades, pelo apoio incondicional, pela troca de idéias e pelas valiosas e essenciais ajudas ao meu trabalho.A Simone, minha amiga, pela amizade, por todo apoio, sempre pronta a ajudar e por me receber em sua casa de portas abertas.Ao pessoal da academia, Simone, Glaucia, Osnete, Helena e Erika pelos momentos de descontração e alegria.Aos amigos Ades, André, Auri e Tati pela paciência e pelo auxílio no meu trabalho. Ao pessoal do Labes e aos amigos do Labes, Ades, Edilson pelo companheirismo, alegrias e apoio. Ao CNPq, pelo apoio financeiro. A todas as pessoas que participaram e colaboraram de alguma maneira na realização deste trabalho.
AbstractFunctional programming languages, such as SML (Standard Meta Language), Haskell and Lisp, focus on rules and matching of patterns, in contrast to procedural languages in which programs are written as a sequence of instructions. Programs in functional languages may have errors due to the misunderstanding of their properties. Testing is one of the essential activities to identify these errors and to guarantee the quality of the product under development. However, there are few initiatives and tools to support the testing of functional programs. Moreover, an important issue that is often not taken into consideration in this context is to provide a means to quantify the test activity. In this work, we establish mechanisms to investigate the aplicability of Mutation Testing for testing functional programs, written in SML. Mutation Testing is a test criterion that allows to evaluate the quality of a test set and to guide the generation of test sets. The existence of a tool to support this criterion is essential due to the large amount of information related to its application. The web tool PROTEUM/SML, developed with the aim of applying the Mutation Testing to SML, implements the mutation operators defined in this work. An example is provided to illustrate the concepts and PROTEUM/SML tool. xiii CAPÍTULO i Introdução Neste capítulo, são apresentados o contexto no qual este trabalho está inserido, os fatores que motivam a sua realização e os objetivos atingidos durante o seu desenvolvimento.