Home

O projeto TestPar- Mecanismos de Apoio ao Teste de Programas Paralelos – existe para melhorar a qualidade das aplicações distribuídas e paralelas.

A computação nos dias atuais é composta fundamentalmente por aplicações distribuídas que interagem para melhorar a nossa qualidade de vida. Alguns poucos exemplos dessas aplicações são: telefonia móvel, sistemas automatizados em veículos que se comunicam para oferecer mais segurança, eletrodomésticos inteligentes, compras na WEB e pagas através do telefone celular, acesso remoto a sistemas web corporativos e integrados sob o paradigma SOA (Service-Oriented Architecture) e cloud computing. A computação distribuída está no centro de um ciclo virtuoso, auto alimentando-se de novas tecnologias de hardware e software. Essas tecnologias vêm mudando a nossa percepção de mundo, o qual interage para agregar recursos e alcançar metas cada vez mais ambiciosas.

A programação concorrente é um ponto em comum nessas tecnologias, oferecendo primitivas à gerência de processos e à interação (comunicação e sincronização) dos mesmos. Primitivas de comunicação e sincronização são muito utilizadas e são responsáveis por erros difíceis de serem detectados, os quais podem facilmente gerar resultados corretos e/ou incorretos com a mesma entrada de dados.

O teste e a depuração de aplicações distribuídas é um desafio neste cenário. Diferentemente dos programas seqüenciais, o teste de aplicações distribuídas ainda é pouco desenvolvido e menos ainda utilizado apropriadamente. Isso ocorre devido à necessidade de modelos de teste específicos que extraiam das aplicações distribuídas informações relevantes para se testar, principalmente aquelas relacionadas à comunicação, sincronização e ao não determinismo inerentes ao comportamento dinâmico de tais aplicações. Associados a esses modelos de teste, também se fazem necessários novos critérios e ferramentas que permitam conduzir a atividade de teste dentro de um custo aceitável.

De uma forma geral, todas essas questões vêm sendo investigadas no projeto TestPar. Os modelos de teste já desenvolvidos no projeto TestPar permitem representar informações sobre fluxos de controle e de dados de processos concorrentes, considerando seus aspectos sequenciais e concorrentes. Os critérios fornecem
uma medida de cobertura que pode ser usada para avaliar o progresso da atividade de teste e também pode fornecer diretrizes para a geração de dados de teste. A ferramenta ValiPar implementa os conceitos investigados e instanciados nos modelos e critérios de teste.