Skip to content

Cleanup of the array domains #485

@michael-schwarz

Description

@michael-schwarz

Currently, the partitioned array domain is

  module Expp = ExpDomain
  module Base = Lattice.Prod3 (Val) (Val) (Val)
  include Lattice.ProdSimple(Expp) (Base)

with the additional understanding that the first component is never bottom and that if it is top, all three parts of the second component have the same value.

However, this is error prone. See, e.g., #482.

Therefore, this domain should be cleaned up such that illegal values can no longer be expressed in it (Probably by switching from Lattice.ProdSimple to a custom variant type).

Metadata

Metadata

Labels

cleanupRefactoring, clean-up

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions