notes

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 85dc0e2402254ea37a14d03822f174e95d757092
parent ab7528b25128ebf71a5f524c793614162e8dc19a
Author: Andrew Laack <andrew@laack.co>
Date:   Sat,  7 Feb 2026 17:12:02 -0600

Ported over notes from papers

Diffstat:
Adocs/Atheris.md | 9+++++++++
Mdocs/CodeVerification.md | 2++
Adocs/ConstitutionalAI.md | 20++++++++++++++++++++
Mdocs/DeepLearning.md | 3+++
Adocs/ELFuzz.md | 27+++++++++++++++++++++++++++
5 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/docs/Atheris.md b/docs/Atheris.md @@ -0,0 +1,9 @@ +# Atheris + +**Definition:** Atheris is a code coverage based Python fuzzer. + +Atheris works by: + +- Instrumenting Python bytecode to calculate code coverage per input +- Detects errors and marks as failures for inputs +- Mutates fuzz based on libFuzzer diff --git a/docs/CodeVerification.md b/docs/CodeVerification.md @@ -14,3 +14,5 @@ Notes related to correctness verification of code - [PropertyBasedTesting](PropertyBasedTesting.md) - [JANUS](JANUS.md) - [Fuzzing Information Theoretic Perspective](FuzzingInformationTheoreticPerspective.md) +- [Atheris](Atheris.md) +- [ELFuzz](ELFuzz.md) diff --git a/docs/ConstitutionalAI.md b/docs/ConstitutionalAI.md @@ -0,0 +1,20 @@ +# Constitutional AI + +**Definition:** Constitutional AI is an alignment strategy where a model is trained, in part, using a short list of principle or instructions laid out prior to the beginning the stage of training. + +## Harmlessness from AI Feedback + +### Supervised Stage + +1) Generate responses to harmful prompts using a helpful model +2) Ask the model to critique the responses based on a principle in the constitution +3) Revise responses in a sequence, drawing from principles in the constitution randomly +4) Finetune on revised responses + +### RL Stage + +1) AI assistant trained with supervised learning from first stage generates pairs of responses to each prompt +2) Formulate each prompt and pair into multiple choice questions where we ask which response is best according to a constitutional principle. +3) Use these results as the preference dataset mixed with human feedback helpfulness dataset +4) Train preference model on the dataset +5) Finetune supervised learning model from the first stage via RL against this preference model diff --git a/docs/DeepLearning.md b/docs/DeepLearning.md @@ -57,3 +57,6 @@ Chapter 2 - Architectures - [Transformers](Transformers.md) + +- Training Approaches + - [Constitutional AI](ConstitutionalAI.md) diff --git a/docs/ELFuzz.md b/docs/ELFuzz.md @@ -0,0 +1,27 @@ +# ELFuzz + +**Definition:** Efficient input generation via LLM driven synthesis over fuzzer space is an approach to fuzzing that uses an LLM + +## How it Works + +### Steps + +1. Setup a harness +2. Start with a Naive seed fuzzer +3. Evaluate the seed fuzzer(s) +4. Mutate the seed fuzzer with the goal of exploring more of the fuzzer space +5. Add the mutated fuzzers to the lattice structure, discarding weaker ones +6. Select the mutants that cover the max unioned cover set +7. These selections should then be the new seed fuzzers for the next iteration +8. Return to step 3 if all iterations haven't been completed + +### Mutation + +There are three mutation approaches described: + +1. Splicing + - Combines the prefix of one candidate and the suffix of another, combined with code from the LLM to fill in the middle +2. Completion + - Truncate a candidate at a random position and fill in the rest with the LLM +3. Infilling + - Remove random lines and use an LLM to fill in the missing parts of the code