Skip to content

dirtyt analysis and OTHER instructions ? #7072

Closed
@remi-delmas-3000

Description

@remi-delmas-3000

CBMC version: 5.63.0 (cbmc-5.63.0-41-g5a7a0a8801-dirty)
Operating system: macOS

dirtyt uses goto_programt::instructiont::apply to search for dirty symbols in instructions. goto_programt::instructiont::apply only visits the contents of an OTHER instruction if its statement attribute is an ID_expression :

void goto_programt::instructiont::apply(
  std::function<void(const exprt &)> f) const
{
  switch(_type)
  {
  case OTHER:
    if(get_other().get_statement() == ID_expression)
      f(to_code_expression(get_other()).expression());
    break;
 ....
}

Since OTHER operations can also have statement be equal to ID_array_set, ID_array_copy, ID_array_replace, ID_asm, etc. is it possible that dirtyt would miss anything of importance ?

Metadata

Metadata

Labels

awsBugs or features of importance to AWS CBMC usersaws-highbugsoundnessSoundness bug? Review and add "aws" if it is, or remove "soundness" if it isn't.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions