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:
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