goblint / analyzer

Static analysis framework for C
https://goblint.in.tum.de
MIT License
169 stars 72 forks source link

non-terminating benchmarks #205

Open vogler opened 3 years ago

vogler commented 3 years ago

The following programs in bench/single-thread don't terminate:

The programs in bench/coreutils all terminate.

~Configuration:~ ~./goblint -v single-thread/wget-1.12_comb.c --enable exp.solver.td3.term --enable exp.earlyglobs --enable ana.int.interval --disable ana.int.enums --disable ana.int.def_exc --enable exp.widen-context --sets exp.privatization none~

Configuration after renames: ./goblint -v single-thread/wget-1.12_comb.c --enable solvers.td3.term --enable exp.earlyglobs --enable ana.int.interval --disable ana.int.enums --disable ana.int.def_exc --enable ana.context.widen --sets ana.base.privatization none

With that configuration, all programs should terminate. The question is why they don't and how to debug it.

The following only terminate with --enable exp.widen-context and are therefore likely recursive:

michael-schwarz commented 2 years ago

Still the case also with current Goblint.

michael-schwarz commented 7 months ago

@SchiJoha would maybe be interesting to find out if your strategies from the new PR can enforce termination here?