Escolar Documentos
Profissional Documentos
Cultura Documentos
Neste trabalho, exploramos uma técnica para a análise de intervalo Um CSP na Arimética Intervalar é definido como o
no processo de Verificação Formal de Modelo Limitado BMC com triplo (x, [x], f(x)≤0), onde:
o uso da Programação por Restrições induzindo a diminuição do x ∈
ℝ é um conjunto de n variáveis,
tempo e memória deste modelo de verificação. Deste modo, [x] ∈
Iℝ é a caixa que representa o domínio do
usamos um CSP (Constraint Satisfaction Problem) para intervalo de cada variável;
f(x) ≤ 0 é o conjunto de restrições tais que f;
∈
representar programas Kotlin e estimamos novos intervalos iniciais
para a verificação, promovendo resultados de verificação em O conjunto de soluções do CSP é: Sx = {x [x] | f (x)
tempos melhorados. ≤ 0}.
Correctness
Java sc
an
Witness
AST
GENERATION:
scan
C/C++ SOOT
AST Control-Flow Graph
Generation
GOTO Symbolic SAT/SMT
Program Execution SOLVER
a n CLANG
sc
Kotlin
Violation
Witness
CSP:
600
fun main(){
500
var x = 1
var y = 0 Variáveis: x, y; 400
x = x + y
[x]=(1,∞), [y]=(0,500);
200
y = y + 1 100
}
assert(x<=y) Restrição: x ≤ y. -800 -700 -600 -500 -400 -300 -200 -100 0 100 200 300 400 500 600 700 800 900 1000 1100 1200
return -100
FAILED: FAILED:
loop3.kt Violated property Violated property
0.346434914s 0.291541516s k=1 k=1
FAILED: FAILED:
1 Função C([x] , f ([x]), [I ]) faça loop4.kt 3.087129161s 1.06403913s k=100 k=56
[𝑥]
∩
Violated property Violated property
∈ ∈
SUCCESSFUL SUCCESSFUL
3 para todo [xi] [x] : i 1, ..., n faça loop6.kt SUCCESSFUL SUCCESSFUL 3.999129142s 0.666251054s k=151 k=49
5 fim para 𝐶([𝑥]) loop8.kt SUCCESSFUL SUCCESSFUL 0.260551241s 0.259189728s k=1 k=1
FAILED: FAILED:
loop11.kt Violated property Violated property
28.562650815s 0.397184011s k=501 k=26
Aldughaim, M., Alshmrany, K. M., Mustafa, M., Cordeiro, L. C., e Stancu, A. (2020).
A aplicação de métodos de contração de domínio de variáveis na Bounded model checking of software using interval methods via contractors.CoRR,
verificação formal de programas é uma proposta que cria alternativa abs/2012.11245. URL https://arxiv.org/abs/2012.11245.
para lidar com o problema de explosão de estados no processo de Clarke, E. M., Klieber, W., Nováˇcek, M., e Zuliani, P. (2012). Model Checking and the
verificação formal BMC. Neste trabalho, certificamos que com o State Explosion Problem, p. 1–30. Springer Berlin Heidelberg, Berlin, Heidelberg. ISBN
978-3-642-35746-6. URL https://doi.org/10.1007/978-3-642-35746-6_1.
auxílio da Programações por Restrições podemos ter um
melhoramento significativo nos tempos de verificação e, que neste Sainz, M., Armengol, J., Calm, R., Herrero, P., Jorba, L., e Vehí, J. (2013). Modal
caso, foram aplicados em programas Kotlin. Interval Analysis: New Tools for Numerical Information, volume 2091. ISBN 978-3-319-
01720-4.