Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ESBMC output formatting and source code formatting #117

Merged
merged 5 commits into from
Apr 2, 2024

Conversation

Yiannis128
Copy link
Collaborator

The following merge request introduces the following features into ESBMC-AI. ESBMC Output Type and Source Code Formatting.

ESBMC Output Type

A config option esbmc_output_type allows you to specify what ESBMC output is shown to the LLM during fix code mode. This is done by the $esbmc_output f-string in the conversation template. The following options are available:

  • full - The original behaviour, the entire output is shown, this may not be the best option.
  • ce - Counterexample and beyond. Will show the output starting from [Counterexample] in the ESBMC output.
  • vp - Shows only the violated property area which simply states what line the error is in, and what the line is, along with what the error is.

In this order, the output can be shrunk, so vp will always be tiny.

Source Code Format

A config option source_code_format has been added that accepts full to show the entire source code to the LLM during fix code mode, and single for showing only the fault line. Single is experimental, however, has shown to get some results right in large source code samples that are complex.

@Yiannis128 Yiannis128 linked an issue Apr 2, 2024 that may be closed by this pull request
@Yiannis128 Yiannis128 merged commit e2b9f82 into master Apr 2, 2024
1 of 2 checks passed
@Yiannis128 Yiannis128 linked an issue Apr 2, 2024 that may be closed by this pull request
2 tasks
@Yiannis128 Yiannis128 deleted the ver-output-type branch April 3, 2024 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ESBMC: Implement different types of verifier output Add single line source code type
1 participant