![Page 1: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/1.jpg)
Verificação de Códigos Lua
Universidade Federal do AmazonasPrograma de Pós-Graduação em Engenharia Elétrica
Verificação de Códigos Lua
Utilizando BMCLua
Francisco Januário, Lucas Cordeiro e Eddie [email protected], [email protected], [email protected]
![Page 2: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/2.jpg)
• Checa a negação de uma propriedade em uma dada
profundidade
Verificação de Modelo Limitada
• Sistema de transição M com profundidade de k
─ Estado: contador de programa e valor de variáveis.
• Traduzido em uma condição de verificação ψψψψ tal que:
ψψψψ é satisfatível se, e se somente se, houver um contra
exemplo de profundidade máxima k.
![Page 3: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/3.jpg)
• Realiza a verificação de códigos ANSI-C e C++ usando
solucionadores das teorias do módulo da satisfatibilidade
O Verificador ESBMC
CódigoFonte C
Parser C
Checagemde tipo C
Conversorem goto
ExecuçãoSimbólica
Soluciona-dor
Parser C++
Checagemde tipo C++
CódigoFonte C++
• Valida programas sequencias ou multi-tarefas
─ Deadlocks
─ Estouro aritmético
─ Divisão por zero
– Limites de array
– Corrida de dados
– Atomicidade
![Page 4: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/4.jpg)
• Utilizada em diversas aplicações, desde jogos até
aplicações para TV Digital
─ Adobe’s Photoshop Lightroom
─ Middleware Ginga
─ World of Warcraft e Angry Birds
A Linguagem Lua (1)
– C/C++
– NCL
– JAVA
Linguagem de extensão utilizada
por outras linguagens
– Mobile
– Set-Top Box
Interpretada, compacta e rápida,
usada em diversos dispositivos
![Page 5: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/5.jpg)
• Defeitos em aplicações interativas para set-top box não
detectados em outras fases do desenvolvimento
A Linguagem Lua (2)
![Page 6: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/6.jpg)
• Defeitos em aplicações interativas para set-top box não
detectados em outras fases do desenvolvimento
A Linguagem Lua (2)
local counter = 0
local dx, dy = canvas:attrSize()
function handler (evt)
if evt.class=='ncl' then
while dx ~= dy do
counter = counter + 1
canvas:drawText(10,10,'Progresso: '..counter)
end
end
end
event.register(handler)
![Page 7: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/7.jpg)
• Defeitos em aplicações interativas para set-top box não
detectados em outras fases do desenvolvimento
A Linguagem Lua (2)
local counter = 0
local dx, dy = canvas:attrSize()
function handler (evt)
if evt.class=='ncl' then
OverFlow
Aritmético
while dx ~= dy do
counter = counter + 1
canvas:drawText(10,10,'Progresso: '..counter)
end
end
end
event.register(handler)
![Page 8: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/8.jpg)
• Defeitos em aplicações interativas para set-top box não
detectados em outras fases do desenvolvimento
A Linguagem Lua (2)
local counter = 0
local dx, dy = canvas:attrSize()
function handler (evt)
if evt.class=='ncl' then
OverFlow
Aritmético
while dx ~= dy do
counter = counter + 1
canvas:drawText(10,10,'Progresso: '..counter)
end
end
end
event.register(handler)
• Impacto negativo na execução das aplicações interativas,
como travamentos, etc.
![Page 9: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/9.jpg)
Objetivos
• Estender os benefícios da verificação de modelos limitada
para códigos da linguagem Lua:
─ Traduzir códigos Lua para uma linguagem modelo
(ANSI-C)
─ Realizar a validação de códigos Lua através do
verificador de modelos limitado ESBMCverificador de modelos limitado ESBMC
• Implementar a metodologia BMCLua:
─ Desenvolver um Ambiente de Desenvolvimento
Integrado
─ Incorporar um interpretador Lua
─ Incorporar o verificador de modelos ESBMC
![Page 10: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/10.jpg)
A Metodologia BMCLua
• Composta basicamente de um tradutor e o verificador
ESBMC
![Page 11: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/11.jpg)
A Metodologia BMCLua
• Composta basicamente de um tradutor e o verificador
ESBMC
Traduz o código Lua
para ANSI-C
![Page 12: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/12.jpg)
A Metodologia BMCLua
• Composta basicamente de um tradutor e o verificador
ESBMC
Traduz o código Lua
para ANSI-C
![Page 13: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/13.jpg)
A Metodologia BMCLua
• Composta basicamente de um tradutor e o verificador
ESBMC
Traduz o código Lua
para ANSI-C
Verifica o código
ANSI-C
![Page 14: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/14.jpg)
A Metodologia BMCLua
• Composta basicamente de um tradutor e o verificador
ESBMC
Traduz o código Lua
para ANSI-C
Verifica o código
ANSI-C
Validação das
propriedades para um
limite M
![Page 15: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/15.jpg)
A Metodologia BMCLua
• Composta basicamente de um tradutor e o verificador
ESBMC
Traduz o código Lua
para ANSI-C
Verifica o código
ANSI-C
Validação das
propriedades para um
limite M
![Page 16: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/16.jpg)
A Metodologia BMCLua
• Composta basicamente de um tradutor e o verificador
ESBMC
Traduz o código Lua
para ANSI-C
Verifica o código
ANSI-C
Validação das
propriedades para um
limite M
Contra-exemplo da
validação.
Correção do código Lua
![Page 17: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/17.jpg)
Tradução e Verificação no BMCLua
n = 5
while n >= 0 do
print(4/n)
n = n - 1
end
#include <stdio.h>
void main(void){
int n = 5;
while(n >= 0){
printf("%f",4/n);
n = n – 1;
}
Violated property:
file /home/BMCLua/BMCLuaC.c
division by zero
• A versão atual traduz apenas um subconjunto de
comandos da linguagem Lua.
– break
– return
– if ... else ... end
– while ... do ... end
– for … do … end
– repeat ... until
– do ... end
}
}
division by zero
n != 0
VERIFICATION FAILED
![Page 18: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/18.jpg)
Tradução e Verificação no BMCLua
n = 5
while n >= 0 do
print(4/n)
n = n - 1
end
#include <stdio.h>
void main(void){
int n = 5;
while(n >= 0){
printf("%f",4/n);
n = n – 1;
}
Violated property:
file /home/BMCLua/BMCLuaC.c
division by zero
Tradução
• A versão atual traduz apenas um subconjunto de
comandos da linguagem Lua.
– break
– return
– if ... else ... end
– while ... do ... end
– for … do … end
– repeat ... until
– do ... end
}
}
division by zero
n != 0
VERIFICATION FAILED
![Page 19: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/19.jpg)
Tradução e Verificação no BMCLua
n = 5
while n >= 0 do
print(4/n)
n = n - 1
end
#include <stdio.h>
void main(void){
int n = 5;
while(n >= 0){
printf("%f",4/n);
n = n – 1;
}
Violated property:
file /home/BMCLua/BMCLuaC.c
division by zero
Verificação
Tradução
• A versão atual traduz apenas um subconjunto de
comandos da linguagem Lua.
– break
– return
– if ... else ... end
– while ... do ... end
– for … do … end
– repeat ... until
– do ... end
}
}
division by zero
n != 0
VERIFICATION FAILED
![Page 20: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/20.jpg)
Tradução e Verificação no BMCLua
n = 5
while n >= 0 do
print(4/n)
n = n - 1
end
#include <stdio.h>
void main(void){
int n = 5;
while(n >= 0){
printf("%f",4/n);
n = n – 1;
}
Violated property:
file /home/BMCLua/BMCLuaC.c
division by zero
Verificação
Tradução
• A versão atual traduz apenas um subconjunto de
comandos da linguagem Lua.
– break
– return
– if ... else ... end
– while ... do ... end
– for … do … end
– repeat ... until
– do ... end
}
}
division by zero
n != 0
VERIFICATION FAILED
Correção
![Page 21: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/21.jpg)
Configuração e Benchmarks
• Ambiente:
─ Intel Core i3 2.5 GHz com 2 GB de RAM na plataforma
Linux Ubuntu 32-bits
─ ESBMC v1.21 com solucionador z3 v3.2
• Utilizado benchmarks para testes de desempenho e
precisão:
─ Bellman-Ford
─ Prim
─ BubbleSort
─ SelectionSort
![Page 22: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/22.jpg)
Resultados Experimentais (1)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
![Page 23: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/23.jpg)
Resultados Experimentais (1)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
Total de elementos
do array
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
![Page 24: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/24.jpg)
Resultados Experimentais (1)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
Total de elementos
do array
Total de linhas de
código traduzido
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
![Page 25: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/25.jpg)
Resultados Experimentais (1)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
Total de elementos
do array
Total de linhas de
código traduzido
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
Limite de iterações
de loops realizada
![Page 26: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/26.jpg)
Resultados Experimentais (1)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
Total de elementos
do array
Total de linhas de
código traduzido
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
Limite de iterações
de loops realizada
Total de
propriedades
verificadas
![Page 27: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/27.jpg)
Resultados Experimentais (1)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
Total de elementos
do array
Total de linhas de
código traduzido
Tempo (seg) de
processamento no
BMCLua
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
Limite de iterações
de loops realizada
Total de
propriedades
verificadas
![Page 28: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/28.jpg)
Resultados Experimentais (1)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
Total de elementos
do array
Total de linhas de
código traduzido
Tempo (seg) de
processamento no
BMCLua
Tempo (seg) de
processamento no 20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
Limite de iterações
de loops realizada
Total de
propriedades
verificadas
processamento no
ESBMC
![Page 29: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/29.jpg)
Resultados Experimentais (2)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
![Page 30: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/30.jpg)
Resultados Experimentais (2)
Algoritmo E L B P TL TE
Bellman-Ford
5 40 6 1 < 1 < 1
10 40 11 1 < 1 < 1
15 40 16 1 < 1 < 1
Os tempos são
equivalentes do programa
Lua e o C original
20 40 21 1 < 1 < 1
Prim
4 61 5 1 < 1 < 1
5 61 6 1 < 1 < 1
6 61 7 1 < 1 < 1
7 61 8 1 < 1 < 1
8 61 9 1 < 1 < 1
![Page 31: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/31.jpg)
Resultados Experimentais (3)
Algoritmo E L B P TL TE
BubbleSort
12 28 13 1 < 1 < 1
35 28 36 1 2 2
50 28 51 1 5 5
70 28 71 1 10 10
140 28 141 1 56 52
200 28 201 1 203 163
SelectioSort
12 31 13 1 < 1 < 1
35 31 36 1 1 1
50 31 51 1 2 2
70 31 71 1 5 4
140 31 141 1 39 25
200 31 201 1 175 89
![Page 32: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/32.jpg)
Resultados Experimentais (3)
Algoritmo E L B P TL TE
BubbleSort
12 28 13 1 < 1 < 1
35 28 36 1 2 2
50 28 51 1 5 5
70 28 71 1 10 10
140 28 141 1 56 52
200 28 201 1 203 163
SelectioSort
12 31 13 1 < 1 < 1
35 31 36 1 1 1
50 31 51 1 2 2
70 31 71 1 5 4
140 31 141 1 39 25
200 31 201 1 175 89
![Page 33: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/33.jpg)
Resultados Experimentais (3)
Algoritmo E L B P TL TE
BubbleSort
12 28 13 1 < 1 < 1
35 28 36 1 2 2
50 28 51 1 5 5
70 28 71 1 10 10
Maior número de
variáveis
Maior o tempo de 140 28 141 1 56 52
200 28 201 1 203 163
SelectioSort
12 31 13 1 < 1 < 1
35 31 36 1 1 1
50 31 51 1 2 2
70 31 71 1 5 4
140 31 141 1 39 25
200 31 201 1 175 89
Maior o tempo de
processamento
![Page 34: Verificação de Códigos Lua Utilizando BMCLua...Verificação de Códigos Lua Universidade Federal do Amazonas Programa de Pós-Graduação em Engenharia Elétrica Utilizando BMCLua](https://reader034.vdocuments.pub/reader034/viewer/2022042620/5f46690f276ab303a409e41c/html5/thumbnails/34.jpg)
• O IDE BMCLua foi capaz de verificar violações de
propriedades em códigos Lua
• Falta o tradutor do BMCLua incorporar outras estruturas e
funcionalidades da linguagem Lua / NCLua
Conclusões
Trabalhos Futuros
• Adicionar uma gramática formal para analisadores (parser
e lexer) de trechos de códigos com o ANTLR
• Incorporar ao middleware Ginga e implementar um plug-in
para o IDE Eclipse