OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE DE PROJETOS
SPIN Model Checker Ferramenta Verificação Software
1. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Adriel Rodrigues, Andr´e Bolzan Egert, Lucas da Silva Corrˆea
Orientador: Profa. Me. Let´ıcia Gindri
Universidade Federal do Pampa
30 de novembro de 2019
SPIN Model Checker Universidade Federal do Pampa 1 / 24
2. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Sum´ario
1 Introduc¸˜ao
2 PROMELA
3 SPIN
4 Instalac¸˜ao
5 Utilizac¸˜ao
6 Demonstrac¸˜ao
7 Conclus˜ao
8 Referˆencias
SPIN Model Checker Universidade Federal do Pampa 2 / 24
3. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Introduc¸˜ao
Verificac¸˜ao e Validac¸˜ao
Verificac¸˜ao
Segundo Gindri (2019), refere-se ao ato de verificar se estamos
construindo um software da forma correta, com as pr´aticas
certas
Validac¸˜ao
Segundo Gindri (2019), refere-se a identificar se o que estamos
construindo ´e de fato o software certo
Verificac¸˜ao de Modelos
Segundo (MENDES; FABR´ıCIO; GUEDES, 2009), a verificac¸˜ao de
modelos ´e uma t´ecnica automatizada, na qual quando dado
determinado modelo de estados finitos e suas propriedades l´ogicas, ´e
verificado se essas propriedades pertencem ao modelo
Evitar deadlocks
SPIN Model Checker Universidade Federal do Pampa 3 / 24
4. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Introduc¸˜ao
Objetivo do Trabalho
Realizar uma pesquisa sobre a ferramenta SPIN, a fim de avali´a-la,
apresentando detalhes sobre a sua forma de download, instalac¸˜ao,
utilizac¸˜ao e por fim as principais considerac¸˜oes sobre a ferramenta.
Ferramentas
LTSA Labelled Transition System Analyser
CBMC
PAT: Process Analysis Toolkit
Scyther Tool
SPIN
SPIN Model Checker Universidade Federal do Pampa 4 / 24
5. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
PROMELA
O que ´e?
O PROMELA ´e uma linguagem de modelagem que descreve
Sistemas Concorrentes.
Permite a criac¸˜ao de modelos dinˆamicos;
Descreve Protocolos de comunicac¸˜ao via canais de mensagens;
Utiliza processos que se comunicam atrav´es de vari´aveis
compartilhadas e/ou mensagens s´ıncronas ou ass´ıncronas;
O foco de PROMELA ´e a interac¸˜ao entre processos.
Criada por Gerard J. Holzmann
SPIN Model Checker Universidade Federal do Pampa 5 / 24
6. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
PROMELA
Modelos ou programas em PROMELA podem ser compostos por:
Processos;
Tipos de Dados;
Canais de mensagens;
Instruc¸˜oes de Controle.
SPIN Model Checker Universidade Federal do Pampa 6 / 24
7. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Estrutura
A sintaxe de especificac¸˜ao ´e baseada em:
Linguagem C;
Canais para troca de mensagens;
Controle de fluxo;
SPIN Model Checker Universidade Federal do Pampa 7 / 24
8. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Figura: SPIN.
SPIN Model Checker Universidade Federal do Pampa 8 / 24
9. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
O que ´e?
Popular Ferramenta de Verificac¸˜ao de Software open-source.
Usada por milh˜oes de pessoas do mundo todo.
Quando surgiu?
Foi desenvolvida no Bell Labs no grupo Unix do Centro de
Pesquisa em Ciˆencias da Computac¸˜ao, a partir de 1980.
A SPIN est´a dispon´ıvel gratuitamente desde 1991.
Prˆemio
Em abril de 2002, a ferramenta recebeu o prˆemio ACM System
Software Award.
SPIN Model Checker Universidade Federal do Pampa 9 / 24
10. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Vers˜ao Atual
A vers˜ao atual da SPIN ´e 6.4.9 (dezembro de 2018).
Criada por Gerard J. Holzmann
SPIN Model Checker Universidade Federal do Pampa 10 / 24
11. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Casos de Sucesso
Controle de inunda¸c˜ao: A SPIN foi utilizada para
verificac¸˜ao dos algoritmos de uma barragem de controle de
inundac¸˜ao constru´ıda no final dos anos 90 perto de
Rotterdam, na Holanda.
Investiga¸c˜ao Toyota: A SPIN foi utilizada em uma
investigac¸˜ao detalhada da NASA sobre o software de controle
do Toyota Camry.
SPIN Model Checker Universidade Federal do Pampa 11 / 24
12. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Interface gr´afica iSPIN
Interface gr´afica que ´e executada independentemente do
pr´oprio Spin.
Ajuda gerando os comandos Spin adequados, com base nas
selec¸˜oes de menu.
Facilita o uso e visualizac¸˜ao para usu´arios.
Melhora visualizac¸˜ao das simulac¸˜oes.
Algumas funcionalidades:
Verificac¸˜ao de modelos Promela.
Simulac¸˜ao de modelos Promela.
Desenha autˆomatos para cada processo.
SPIN Model Checker Universidade Federal do Pampa 12 / 24
13. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Download e instalac¸˜ao
Tutoriais apenas em inglˆes e desatualizados
https://bit.ly/2OSR4Mo
SPIN Model Checker Universidade Federal do Pampa 13 / 24
14. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Download e instalac¸˜ao
https://bit.ly/2OxjMn8
SPIN Model Checker Universidade Federal do Pampa 14 / 24
15. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Interface
SPIN Model Checker Universidade Federal do Pampa 15 / 24
16. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Interface
SPIN Model Checker Universidade Federal do Pampa 16 / 24
17. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Func¸˜oes
..
Automata view
Simulate / Replay
Verification
Interface gr´afica
SPIN Model Checker Universidade Federal do Pampa 17 / 24
18. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Demonstrac¸˜ao Pr´atica
Demonstra¸c˜ao Pr´atica
SPIN Model Checker Universidade Federal do Pampa 18 / 24
19. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Dificuldades Encontradas
Instalac¸˜ao
Falta de experiˆencia e conhecimento no dom´ınio
Promela n˜ao possui uma sintaxe simples e de f´acil
compreens˜ao.
Falta de documentac¸˜ao em portuguˆes
SPIN Model Checker Universidade Federal do Pampa 19 / 24
20. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Conclus˜ao
Conclus˜ao
SPIN
Dependˆencia do Promela;
Curva de Aprendizado;
Instalac¸˜ao e Configurac¸˜ao mais simples que as ferramentas
similares.
SPIN Model Checker Universidade Federal do Pampa 20 / 24
21. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Disponibilizac¸˜ao da apresentac¸˜ao
A apresentac¸˜ao est´a disponibilizada no SlideShare.
https://bit.ly/2Dwm7Z2
SPIN Model Checker Universidade Federal do Pampa 21 / 24
22. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Conclus˜ao
F´orum
Simp´osios
Apoio, suporte
Projetos
http://spinroot.com/spin/whatispin.html
SPIN Model Checker Universidade Federal do Pampa 22 / 24
23. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
Referˆencias
GINDRI, L.Apresentac¸˜ao Introduc¸˜ao e Verificac¸˜ao de Modelos.
2019. Acessado em: 24nov. 2019. Dispon´ıvel em:
https://moodle.unipampa.edu.br/moodle/pluginfile.php/
437253/modr esource/content/1/VM.pdf
HOLZMANN, G.The SPIN Model Checker: Primer and
Reference Manual. 1st. ed. [S.l.]:Addison-Wesley
Professional, 2011. ISBN 0321773713, 9780321773715
HOLZMANN, G.Verifying Multi-threaded Software with Spin.
Acessado em: 24 nov. 2019. Dispon´ıvel em:
http://spinroot.com/spin/whatispin.html
MENDES, A.; FABR´ıCIO, R.; GUEDES, R.Promela Spin.
Acessado em: 24 nov. 2019.Dispon´ıvel em:
https://www.gta.ufrj.br/ fabriciojorge/trabalhos/promelaX spin.pdf
SPIN Model Checker Universidade Federal do Pampa 23 / 24
24. dog1
Introduc¸˜ao PROMELA SPIN Instalac¸˜ao Utilizac¸˜ao Demonstrac¸˜ao Conclus˜ao Referˆencias
SPIN Model Checker
Adriel Rodrigues, Andr´e Bolzan Egert, Lucas da Silva Corrˆea
Orientador: Profa. Me. Let´ıcia Gindri
Universidade Federal do Pampa
30 de novembro de 2019
SPIN Model Checker Universidade Federal do Pampa 24 / 24