| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we added custom code to kernel build action,
and few others to expose verbose errors from executed binaries (notably make).
But lots of other binary executions missing this logic,
e.g. for git failure we currently see unuseful:
failed to run ["git" "fetch" "--force" "--tags" exit status 128
Instead of adding more and more custom code to do the same,
remove the custom code and always add verbose output
in syz-agent and tools/syz-aflow.
|
| |
|
|
|
|
|
|
|
| |
The tests fail on OpenBSD with:
expected: "bad expression: fatal: command line, 'bad expression (': Unmatched ( or \\("
actual : "bad expression: fatal: command line, 'bad expression (': parentheses not balanced"
Disable the tests on non-linux for now.
|
| |
|
|
|
|
|
| |
If we have duplicate names, then only one of the duplicates will be used at random.
Add a check that we don't have duplicate names.
Currently it's only "crash-reproducer" (both action and a tool).
Also ignore "set-results" tool, and all tools created in tests.
|
| |
|
|
|
|
|
|
|
|
|
| |
Adds a tool that allows an agent to read the content of syzlang
description files (e.g., `sys.txt`, `socket.txt`).
Providing the ability to fetch exact system call definitions helps
reasoning models generate correct and compiling programs from crash
reports.
Update #6878
|
| | |
|
| |
|
|
| |
Update #6878
|
| |
|
|
| |
Update #6811
|
| |
|
|
|
| |
If LLM searches for "->", grep considered it as a flag and failed.
Add "--" before the expression to fix such cases.
|
| |
|
|
| |
Now it's compiled into the syz-agent binary itself.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compiled clang tools into Go binaries using cgo.
This significantly simplifies building and deployment.
This also enables unit testing of clang tools.
Now raw go test for clang tools will build them, run,
and verify output.
Each clang tool is still started as a subprocess.
I've experimented with running them in-process,
but this makes stdout/stderr interception extremly complicated,
and it seems that clang tools still use unsynchronized global state,
which breaks when invoked multiple times.
Subprocesses also make it safer in the face of potential memory leaks,
or memory corruptions in clang tools.
Fixes #6645
|
| |
|
|
|
|
| |
Add a tool that executes git grep with the given expression.
It can handle long tail of cases that codesearcher can't handle,
while still providing less output than reading whole files.
|
| |
|
|
|
|
|
|
|
|
| |
Introduce abstract "task type" for LLM agents instead of specifying
temperature explicitly for each agent. This has 2 advantages:
- we don't hardcode it everywhere, and can change centrally
as our understanding of the right temperature evolves
- we can control other LLM parameters (topn/topk) using task type as well
Update #6576
|
| |
|
|
|
|
|
|
|
|
| |
- Extract struct field offsets and sizes in the C++ codesearch indexer.
- Add 'fields' to the JSON definition output.
- Update pkg/codesearch to parse and expose the new field information.
- Add 'struct-layout' command to syz-codesearch for debugging.
- Add 'codesearch-struct-layout' tool to pkg/aflow/tool/codesearcher/
to allow LLM agents to query struct memory layout and map byte offsets to fields.
- Support pointer marshaling for optional JSON values (e.g. *uint)
|
| |
|
|
|
|
|
|
| |
Make codeeditor error on nop changes that don't actually change the code.
Make patch testing error on empty patch.
Perhaps we need a notion of "mandatory" tools that must be called
successfully at least once... not sure yet.
|
| | |
|
| | |
|
| |
|
|
| |
Add simple codeeditor tests to test testing.
|
| |
|
|
|
| |
Code editing tool stub.
Update #6470
|
| |
|
|
|
| |
It can answer complex questions about kernel,
and provide a concise answer to other LLMs.
|
| |
|
|
|
|
| |
If format of the codesearch DB file changes,
we need to create new DB rather than use old cached one.
Add DB format hash to cache signature.
|
| |
|
|
|
|
|
|
|
| |
Extend codesearch clang tool to export info about function references
(calls, takes-address-of).
Add pkg/codesearch command find-references.
Export find-references in pkg/aflow/tools/codesearcher to LLMs.
Update #6469
|
| |
|
|
|
|
|
|
|
|
| |
The error allows tools to communicate that an error is not an infrastructure error
that must fail the whole workflow, but rather a bad tool invocation by an LLM
(e.g. asking for a non-existent file contents).
Previously in the codesearcher tool we used a separate Missing bool
to communicate that. With the error everything just becomes cleaner and nicer.
The errors also allows all other tools to communicate any errors to the LLM
when the normal results cannot be provided and don't make sense.
|
| |
|
|
| |
Just provides full file contents as last resort.
|
| |
|
|
|
| |
dir-index provides a list of subdirectories and files in the given
directory in the source tree.
|
| |
|