Open reb-ddm opened 10 months ago
Deadline for final pull request: 12th of January Next meeting with supervisors: 11th of January
TODO add ask for overflow
may signed overflow -> instead of no_overflow in each subexpression -> because top is not always returned if subexpr is top exp -> MayBool.t -> in base analysis -> with query function match query -> or use EvalInt in each subexpression ignores "assume_none" but we don't call that function if it's assume none treat assume_wraparound like assume_none Function calls in expressions get converted to variables OR use no_overflow OR still provide the query but not use it
Base contains interval analysis, add MaySignedOverflow to query that uses evalInt for each subexpression
Or just do it locally?
also ensure that x = y information gets considered, there is no overflow here
in each subexpression
HOW TO USE QUERY: ask function in ctx in assign in relatioinAnalysis.ml
for casts: upcast("is_cast_injective") -> no problem downcast/reinterpreted cast: type1 to type2-> check bounds if gamma(x1) subset range(type2) then ok else if the concrete value is a single constant, then convert (cast with int domain) else don't bother
in texpr_of_cil_expr -> give up if it needs overflow handling
TEST for widening and narrowing -> only works with nested loops? idk
TEST for different integer kinds