Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Name: Test
Find counterexample
Pre: True;
%1 = xor %x, -1
%2 = add %1, C
=>
Prove it
%2 = sub C-1, %x
Alive
Overview
SMT Solver
Condition Verification Generation
Evaluation
Conclusion
Overview
SMT Solver
Condition Verification Generation
Evaluation
Conclusion
SAT
Boolean satisfiability problem
True
⟺ is unsat
Overview
SMT Solver
Condition Verification Generation
Evaluation
Conclusion
Pre: C1 u>= C2
%0 = shl nsw i8 %a, C1
%1 = ashr %0, C2
=>
%1 = shl nsw %a, C1-C2
Pre: C1 u>= C2
%0 = shl nsw i8 %a, C1
%1 = ashr %0, C2
=>
%1 = shl nsw %a, C1-C2
%z = or i8 1,undef
𝑓ҧ
value
Overview
SMT Solver
Condition Verification Generation
Evaluation
Conclusion
𝑋 − −𝐴 = 𝑋 + 𝐴
0x8(-8) 0x8(8)
0x0(0) 0x8(-8)
0x8(-8)
Undefine behavior
0x8(-8) 0x8(8)
For me
Alive is a the simple language to solve a “specific case”
problem, and I think a verification is useful to find bugs which
are caused by the gap between math and computer.