Skip to content

False negative with k-Induction and incremental BMC #123

@lu-w

Description

@lu-w

Hey all,

while working with 2LS I noticed a possible bug. It basically boils down to the following program being reported as safe:

extern void __VERIFIER_error();
int main() {
	for (int i = 0; i < 1; i++) {
		for (int j = 0; j < 2; j++) {}
		__VERIFIER_error();
	}
	return 0;
}

When using --k-induction or --incremental-bmc, 2LS claims

[main.assertion.1] : OK

** 0 of 1 unknown
** 0 of 1 failed
VERIFICATION SUCCESSFUL

In both cases, it reports to have generated a proof after 2 unwindings, although this program should be proven unsafe.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions