-
Notifications
You must be signed in to change notification settings - Fork 88
Closed
Description
After Goblint 1.1.0 aka "fat" the plan is to release Goblint 2.0.0 aka "lean", where we have the opportunity to remove numerous unmaintained and deprecated features which might hinder refactoring and development. This issue is to collect ideas for such removals and discuss them.
Ideas
- Containment analysis. Requires LLVM C++ → C conversion, which has been removed upstream.
Goblintutilhas a bunch of name demangling logic specific to that conversion. - Deadlocks by races analysis. Seems suspiciously incomplete: uses must and may locks, but in the predicates completely ignores both. Probably an attempt to implement this paper: https://www.sciencedirect.com/science/article/pii/S2352220814000492.
- Shapes analysis. Highly specific to cyclic doubly-linked lists. Builds on region analysis, making the latter more difficult to fix (Cleaning up and documenting region analysis #107).
- Non-Apron octagon analysis.
- nestra tests. Currently unused. Should be converted into regression tests (with desired checks added) or just removed.
- osek, osektransactionality, flag, flagmodes?
-
presubandpostsub. They are part of every analysis specctx, but only used by some old analyses and mostly replaced with queries. During profiling I have noticed thatfilter_presubscan take 10% of runtime manipulating the assoc lists used forMCP2. (Might also be a good idea to rewrite that usingMap?)-
postsubremoval is part of Run dead code analysis with reanalyze #737 -
presubis part of Remove ARINC analyses #812
-
- ListDomain in base analysis. Very unused, untested and broken. Run dead code analysis with reanalyze #737 (comment)
-
condvars analysis. Unused, not subsumed by var_eq?Now part of Clean up existing must-equality analyses #743. - Phases. Currently all phases must be manually specified ahead of time and there's no pure communication between the phases. We probably want something more dynamic a la refinement anyway. The
phasesfield in the JSON configuration complicates things due to its recursive schema (Replace JSON schema validation and add full options schema #476). Remove phases #820 - arinc? @vogler (Remove ARINC analyses #812)
- extraction (arinc
, osek)? Remove ARINC analyses #812
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
cleanupRefactoring, clean-upRefactoring, clean-up