Skip to content

WIP: Combine changes from function analyzer (PR 1107) and crash analyzer (PR 1109) #1111

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

Draft
wants to merge 101 commits into
base: main
Choose a base branch
from

Conversation

AmPaschal
Copy link
Collaborator

This PR is created to test changes from multiple branches. Will be closed after testing, while the individual PRs will proceed to code review.

AmPaschal and others added 30 commits May 21, 2025 13:59
This commit includes the following tasks:
- implements a function analyzer agent using the ADK library.
- implements a function that gets a function's source using the FuzzIntrospector API.
- Provides this function as a tool to the function analyzer agent.
- Adds basic prompt templates for the agent.
- Creates a test file that can be used to access the agent independently.
…s not need to perform any operation while waiting for results from the agent.
This commit refactors the agentic workflow so that the function's source is retrieved deterministically and included in the agemt.

The prompts are also more specific on what requirements should be extracted.
First, the context retriever agent retrieves the source code of the function and its children for analysis.
Then, the requirements extractor agent
…raw result and the list of requirements.

The commit also updates function_analyzer_test to process multiple benchmarks in a provided file and write the results to a results file.
…tion and its context are first retrieved, and passed to the agent in the prompt.
…lyzer to other agents.

Modified the prototyper to consume requirements from function analyzer.
It's a bit confusing we use CHAT for both chat and ask utility
functions. This changes so it's clear from the logging when each of them
is used.

Signed-off-by: David Korczynski <[email protected]>
This PR mainly implements a crash analyzer that can interact with LLDB
in the multi-agent framework, and supports GPT. In addition, this PR
attempts to fix the problem of not replacing the fuzz target and build
script. This PR is under testing. The main logic is no longer changing,
and minor bugs are being fixed.

TODO:

Optimize the process of agent interaction with LLDB.
Solve the problem of missing debugging information for some projects.
Try to add LLM-based static methods to enhance the crash analyzer.

---------

Co-authored-by: Dongge Liu <[email protected]>
Fixing broken OSS-Fuzz projects is a common task and something we could
leverage OFG to do. This adds an initial agent-based approach for doing
this and it has already been used to fix
google/oss-fuzz#13389 and other projects
locally.

```
oss-fuzz-generator fix-build --project PROJECT_NAME --model ${MODEL}
```

---------

Signed-off-by: David Korczynski <[email protected]>
- Works better with C/CXX
- Improve prompt writings
- Improve OSS-Fuzz build_fuzzers/check_build validation
- Improves code quality

---------

Signed-off-by: David Korczynski <[email protected]>
@AmPaschal
Copy link
Collaborator Author

/gcbrun exp -n pamusuo -m vertex_ai_gemini-2-5-pro-chat -ag -b quick-test

@AmPaschal
Copy link
Collaborator Author

/gcbrun exp -n pamusuo -m vertex_ai_gemini-2-5-pro-chat -ag -b quick-test

@AmPaschal AmPaschal marked this pull request as draft June 16, 2025 01:47
@AmPaschal
Copy link
Collaborator Author

/gcbrun exp -n pamusuo -m vertex_ai_gemini-2-5-pro-chat -ag

@AmPaschal
Copy link
Collaborator Author

/gcbrun exp -n pamusuo1 -m vertex_ai_gemini-2-5-pro-chat -ag

@AmPaschal
Copy link
Collaborator Author

/gcbrun exp -n pa -m vertex_ai_gemini-2-5-pro-chat -ag

@AmPaschal
Copy link
Collaborator Author

/gcbrun exp -n pa -m vertex_ai_gemini-2-5-pro-chat -ag

@AmPaschal
Copy link
Collaborator Author

/gcbrun exp -n pamusuo -m vertex_ai_gemini-2-5-pro-chat -ag -b quick-test

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.

3 participants