goblint / goblint/analyzer

non-terminating benchmarks

Open
#205 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

performance
Dominant language
OCaml
Stars
252
Forks
90
Avg merge
4d 1m
Merged PRs (30d)
19

Description

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

  • 400.perlbench_comb.c
  • 445.gobmk_comb.c
  • wget-1.12_comb.c

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:

  • coreutils/sort_comb.c
  • single-thread/458.sjeng_comb.c
  • single-thread/482.sphinx_livepretend_comb.c
  • single-thread/duff-0.5_comb.c
  • single-thread/maradns-1.4.06_comb.c

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the listed single-thread benchmarks, especially wget-1.12_comb.c, with the configuration shown in the issue and compare them with the terminating coreutils programs. Investigate why the listed programs fail to terminate and why the recursive cases need exp.widen-context. Done means identifying the cause and making all listed programs terminate under the stated configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, ocaml
Domain
devtools
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.