# Nikos Baxevanis > Blog by a security researcher at the Ethereum Foundation, on > property-based testing, fuzzing, and automated bug discovery in > production systems. 127 posts since 2011. ## Pages - [About](https://blog.nikosbaxevanis.com/about/): the author and public code - [All Posts](https://blog.nikosbaxevanis.com/archive/): every post on one page - [Feed](https://blog.nikosbaxevanis.com/feed.xml): Atom feed of recent posts ## Posts - [Same Prompts, Three Macs: Four Models and a Test That Measured Nothing](https://blog.nikosbaxevanis.com/2026/11/12/same-prompts-three-macs-four-models-and-a-test-that-measured-nothing/): 2026-11-12 - [Same Prompts, Three Macs: Where the Machines Sit](https://blog.nikosbaxevanis.com/2026/11/11/same-prompts-three-macs-where-the-machines-sit/): 2026-11-11 - [Same Prompts, Three Macs: Higher Precision, Same Answers](https://blog.nikosbaxevanis.com/2026/11/10/same-prompts-three-macs-higher-precision-same-answers/): 2026-11-10 - [Same Prompts, Three Macs](https://blog.nikosbaxevanis.com/2026/11/09/same-prompts-three-macs/): 2026-11-09 - [Restoring the Models on a Clean Mac](https://blog.nikosbaxevanis.com/2026/10/23/the-restore-is-the-test/): 2026-10-23 - [Local Models and Tool Permissions](https://blog.nikosbaxevanis.com/2026/10/22/local-models-and-tool-permissions/): 2026-10-22 - [Testing Longer Contexts](https://blog.nikosbaxevanis.com/2026/10/21/a-context-window-is-a-testable-claim/): 2026-10-21 - [Self-Hosted Inference on Apple Silicon](https://blog.nikosbaxevanis.com/2026/10/20/self-hosted-inference-on-apple-silicon/): 2026-10-20 - [Agents as Fuzzers](https://blog.nikosbaxevanis.com/2026/02/16/agents-as-fuzzers/): 2026-02-16 - [Testing the Bugs Between Calls](https://blog.nikosbaxevanis.com/2026/02/15/testing-between-calls-with-agents/): 2026-02-15 - [Agent Teams and claude-swarm](https://blog.nikosbaxevanis.com/2026/02/08/agent-teams-and-claude-swarm/): 2026-02-08 - [Agent Skills and claude-lint](https://blog.nikosbaxevanis.com/2026/02/01/agent-skills-and-claude-lint/): 2026-02-01 - [The Bugs Between Calls](https://blog.nikosbaxevanis.com/2026/01/31/the-bugs-between-calls/): 2026-01-31 - [Oracles, Traces, Triage](https://blog.nikosbaxevanis.com/2026/01/25/oracles-traces-triage/): 2026-01-25 - [The Expression Problem in Practice: A Trait-Based Testing Harness](https://blog.nikosbaxevanis.com/2025/03/25/expression-problem-in-practice/): 2025-03-25 - [Chaos Testing stacks-node with Model-Based Stateful Testing](https://blog.nikosbaxevanis.com/2025/03/10/chaos-testing-stacks-node/): 2025-03-10 - [Scaling Model-Based Stateful Testing with madhouse-rs](https://blog.nikosbaxevanis.com/2025/02/10/scaling-with-madhouse-rs/): 2025-02-10 - [Model-Based Stateful Testing with proptest-state-machine](https://blog.nikosbaxevanis.com/2025/01/10/state-machine-testing-proptest/): 2025-01-10 - [The Expression Problem, with Counters](https://blog.nikosbaxevanis.com/2024/12/10/expression-problem-counters/): 2024-12-10 - [Model-Based Stateful Testing with madhouse-rs](https://blog.nikosbaxevanis.com/2024/12/01/model-based-stateful-testing-with-madhouse-rs/): 2024-12-01 - [Fuzzing meets property testing](https://blog.nikosbaxevanis.com/2023/12/15/fuzzing-meets-property-testing/): 2023-12-15 - [Property-based testing in Rust and Go](https://blog.nikosbaxevanis.com/2023/12/01/property-based-testing-rust-go/): 2023-12-01 - [Coverage-guided fuzzing in Rust and Go](https://blog.nikosbaxevanis.com/2023/11/15/coverage-guided-fuzzing-rust-go/): 2023-11-15 - [Why fuzzing still matters in memory-safe languages](https://blog.nikosbaxevanis.com/2023/11/01/why-fuzzing-still-matters/): 2023-11-01 - [Fuzzing in Memory-Safe Languages](https://blog.nikosbaxevanis.com/2023/10/15/fuzzing-memory-safe-languages/): 2023-10-15 - [Wrap-Up: An Input Coverage Playbook](https://blog.nikosbaxevanis.com/2023/08/11/playbook/): 2023-08-11 - [Appendix: Commands, Flags, And Gotchas](https://blog.nikosbaxevanis.com/2023/08/04/commands-and-flags/): 2023-08-04 - [Appendix: Varint Shift Bug](https://blog.nikosbaxevanis.com/2023/07/21/varint-bug/): 2023-07-21 - [AFL++, Original AFL, And When To Care](https://blog.nikosbaxevanis.com/2023/07/14/afl-vs-original-afl/): 2023-07-14 - [CI, Seeds, And Corpora Hygiene](https://blog.nikosbaxevanis.com/2023/06/30/ci-and-corpora/): 2023-06-30 - [Mocking I/O To Go Faster](https://blog.nikosbaxevanis.com/2023/06/23/mocking-io-to-go-faster/): 2023-06-23 - [Arbitrary Models vs Raw Bytes](https://blog.nikosbaxevanis.com/2023/06/09/arbitrary-vs-bytes/): 2023-06-09 - [From Crash To Test](https://blog.nikosbaxevanis.com/2023/06/02/crash-to-test/): 2023-06-02 - [One Function To Fuzz Them All](https://blog.nikosbaxevanis.com/2023/05/19/one-entrypoint/): 2023-05-19 - [Panics Are Not Crashes](https://blog.nikosbaxevanis.com/2023/05/12/panics-and-abort/): 2023-05-12 - [Fuzzing The CSV CLI With AFL++](https://blog.nikosbaxevanis.com/2023/04/28/csv-cli-afl/): 2023-04-28 - [Enterprise Case 2: CSV Import CLI, Unbounded Header](https://blog.nikosbaxevanis.com/2023/04/21/csv-cli-bug/): 2023-04-21 - [Fuzzing The Money Parser With libFuzzer](https://blog.nikosbaxevanis.com/2023/04/07/money-parser-libfuzzer/): 2023-04-07 - [Enterprise Case 1: Money Parser, Unicode Minus](https://blog.nikosbaxevanis.com/2023/03/31/money-parser-bug/): 2023-03-31 - [Minimal Fuzzing Without The Pain](https://blog.nikosbaxevanis.com/2023/03/17/minimal-fuzzing-setup/): 2023-03-17 - [Property Tests Are Not A Fuzzer](https://blog.nikosbaxevanis.com/2023/03/03/property-tests-vs-fuzzing/): 2023-03-03 - [Heterogeneous test-suites](https://blog.nikosbaxevanis.com/2023/02/27/heterogeneous-test-suites/): 2023-02-27 - [The Case For Input Coverage](https://blog.nikosbaxevanis.com/2023/02/24/input-coverage/): 2023-02-24 - [Input Coverage > Code Coverage (Series Index)](https://blog.nikosbaxevanis.com/2023/02/17/input-coverage-series/): 2023-02-17 - [Invariant testing from Clarity](https://blog.nikosbaxevanis.com/2023/02/13/invariant-testing-from-clarity/): 2023-02-13 - [Invariant testing from TypeScript](https://blog.nikosbaxevanis.com/2023/02/06/invariant-testing-from-typescript/): 2023-02-06 - [Invariant testing from command-line](https://blog.nikosbaxevanis.com/2023/01/30/invariant-testing-from-command-line/): 2023-01-30 - [Picking up a Clarity contract](https://blog.nikosbaxevanis.com/2023/01/23/picking-up-a-clarity-contract/): 2023-01-23 - [Pandora](https://blog.nikosbaxevanis.com/2023/01/16/pandora/): 2023-01-16 - [Clarity model-based testing primer](https://blog.nikosbaxevanis.com/2022/03/15/clarity-clarity-model-based-testing-primer/): 2022-03-15 - [Clarity property-based testing primer](https://blog.nikosbaxevanis.com/2022/03/05/clarity-property-based-testing-primer/): 2022-03-05 - [Clarity Control flow & error handling - asserts!](https://blog.nikosbaxevanis.com/2022/02/10/clarity-control-flow-error-handling-asserts/): 2022-02-10 - [Clarity "Hello, World!" deployed on Stacks](https://blog.nikosbaxevanis.com/2022/01/28/clarity-hello-world-deployed-on-stacks/): 2022-01-28 - [Clarity reference - Part 2 / Data-Space Primitives](https://blog.nikosbaxevanis.com/2022/01/17/clarity-reference-part-2-data-space-primitives/): 2022-01-17 - [Clarity reference - Part 1 / Primitives](https://blog.nikosbaxevanis.com/2022/01/04/clarity-reference-part-1-primitives/): 2022-01-04 - [Clarity syntax definitions for Sublime Text](https://blog.nikosbaxevanis.com/2021/12/23/clarity-syntax-definitions-for-sublime-text/): 2021-12-23 - [The rhyme of the altered Parser](https://blog.nikosbaxevanis.com/2020/03/30/the-rhyme-of-the-altered-parser/): 2020-03-30 - [Fantomas F# formatter in Visual Studio 2019](https://blog.nikosbaxevanis.com/2020/03/01/fantomas-fsharp-formatter-in-visual-studio-2019/): 2020-03-01 - [Top ten desired Haskell language extensions](https://blog.nikosbaxevanis.com/2018/02/02/some-of-the-most-widely-used-language-extensions-in-haskell/): 2018-02-02 - [Setting up an Ubuntu environment](https://blog.nikosbaxevanis.com/2018/01/31/setting-up-an-ubuntu-environment/): 2018-01-31 - [Crypto-notes](https://blog.nikosbaxevanis.com/2017/11/25/crypto-notes/): 2017-11-25 - [Less fragmented properties with Hedgehog](https://blog.nikosbaxevanis.com/2017/04/10/less-fragmented-properties-with-hedgehog/): 2017-04-10 - [Property-based testing becomes easier with Hedgehog](https://blog.nikosbaxevanis.com/2017/04/09/property-based-testing-becomes-easier-with-hedgehog/): 2017-04-09 - [Write you some QuickCheck - Properties that hold under certain conditions](https://blog.nikosbaxevanis.com/2016/06/13/write-you-some-quickcheck-properties-that-hold-under-certain-conditions/): 2016-06-13 - [Write you some QuickCheck - Properties](https://blog.nikosbaxevanis.com/2016/05/27/write-you-some-quickcheck-properties/): 2016-05-27 - [Atom + Stack = no globally installed GHC/packages](https://blog.nikosbaxevanis.com/2016/05/19/atom-and-stack-no-globally-installed-ghc-and-packages/): 2016-05-19 - [Write you some QuickCheck - Shrinking lists](https://blog.nikosbaxevanis.com/2016/04/10/write-you-some-quickcheck-shrinking-lists/): 2016-04-10 - [Creating F# lists with AutoFixture](https://blog.nikosbaxevanis.com/2016/04/03/creating-fsharp-lists-with-autofixture/): 2016-04-03 - [Write you some QuickCheck - Shrinking numbers](https://blog.nikosbaxevanis.com/2016/03/17/write-you-some-quickcheck-shrinking-numbers/): 2016-03-17 - [Write you some QuickCheck - Generating random floats](https://blog.nikosbaxevanis.com/2016/02/25/write-you-some-quickcheck-generating-random-floats/): 2016-02-25 - [Write you some QuickCheck - Generating random strings](https://blog.nikosbaxevanis.com/2016/02/22/write-you-some-quickcheck-generating-random-strings/): 2016-02-22 - [Write you some QuickCheck - Generating random lists](https://blog.nikosbaxevanis.com/2016/02/19/write-you-some-quickcheck-generating-random-lists/): 2016-02-19 - [Write you some QuickCheck - Generating random long integers](https://blog.nikosbaxevanis.com/2016/02/17/write-you-some-quickcheck-generating-random-long-integers/): 2016-02-17 - [Write you some QuickCheck - Generating random integers](https://blog.nikosbaxevanis.com/2016/02/13/write-you-some-quickcheck-generating-random-integers/): 2016-02-13 - [Write you some QuickCheck - Generating random booleans](https://blog.nikosbaxevanis.com/2016/02/12/write-you-some-quickcheck-generating-random-booleans/): 2016-02-12 - [Write you some QuickCheck - Generating random characters](https://blog.nikosbaxevanis.com/2016/02/11/write-you-some-quickcheck-generating-random-characters/): 2016-02-11 - [Write you some QuickCheck - Generating random bytes](https://blog.nikosbaxevanis.com/2016/02/10/write-you-some-quickcheck-generating-random-bytes/): 2016-02-10 - [Write you some QuickCheck - Prelude](https://blog.nikosbaxevanis.com/2016/02/09/write-you-some-quickcheck-prelude/): 2016-02-09 - [Short intro to QuickCheck](https://blog.nikosbaxevanis.com/2016/02/09/short-intro-to-quickcheck/): 2016-02-09 - [Write you some QuickCheck](https://blog.nikosbaxevanis.com/2016/02/08/write-you-some-quickcheck/): 2016-02-08 - [Those pesky build servers](https://blog.nikosbaxevanis.com/2015/10/08/those-pesky-build-servers/): 2015-10-08 - [Regex-constrained strings with FsCheck](https://blog.nikosbaxevanis.com/2015/09/25/regex-constrained-strings-with-fscheck/): 2015-09-25 - [F# on Emacs with Spacemacs](https://blog.nikosbaxevanis.com/2015/04/25/fsharp-on-emacs-with-spacemacs/): 2015-04-25 - [Setting up Haskell on Windows](https://blog.nikosbaxevanis.com/2015/04/15/setting-up-haskell-on-windows/): 2015-04-15 - [Observing the size of generated test data](https://blog.nikosbaxevanis.com/2015/03/21/the-sample-function-and-the-size-of-generated-test-data/): 2015-03-21 - [Generators and the 'choose' function](https://blog.nikosbaxevanis.com/2015/02/21/generators-and-the-choose-function/): 2015-02-21 - [FsCheck setup in F#](https://blog.nikosbaxevanis.com/2015/02/08/fscheck-setup-in-fsharp/): 2015-02-08 - [QuickCheck setup in Haskell](https://blog.nikosbaxevanis.com/2015/01/30/quickcheck-setup-in-haskell/): 2015-01-30 - [Why QuickCheck can be useful](https://blog.nikosbaxevanis.com/2015/01/29/why-quickcheck-can-be-useful/): 2015-01-29 - [Tweaking Sublime Text themes to take advantage of Retina displays](https://blog.nikosbaxevanis.com/2015/01/06/tweaking-sublime-text-themes-to-take-advantage-of-retina-displays-on-windows/): 2015-01-06 - [In-memory Drain abstractions applied to A Functional Architecture with F#](https://blog.nikosbaxevanis.com/2014/07/28/in-memory-drain-abstractions-applied-to-a-functional-architecture-with-fsharp/): 2014-07-28 - [GitHub README layouts](https://blog.nikosbaxevanis.com/2014/06/01/github-readme-layouts/): 2014-06-01 - [AutoFixture via Edge.js sample adapter-functions](https://blog.nikosbaxevanis.com/2014/05/19/autofixture-via-edge-js-sample-adapter-functions/): 2014-05-19 - [Mountebank Stubs with F#](https://blog.nikosbaxevanis.com/2014/05/02/mountebank-stubs-with-fsharp/): 2014-05-02 - [Mountebank Mocks with F#](https://blog.nikosbaxevanis.com/2014/04/22/mountebank-mocks-with-fsharp/): 2014-04-22 - [Idioms.FsCheck](https://blog.nikosbaxevanis.com/2014/03/25/idioms-fscheck/): 2014-03-25 - [How to configure AutoFoq with Foq's return strategy](https://blog.nikosbaxevanis.com/2014/02/23/how-to-configure-autofoq-with-foqs-return-strategy/): 2014-02-23 - [Levels of open-source code](https://blog.nikosbaxevanis.com/2014/02/13/levels-of-open-source-code/): 2014-02-13 - [Semantic Equality Comparison in F#](https://blog.nikosbaxevanis.com/2013/12/07/semantic-equality-comparison-in-fsharp/): 2013-12-07 - [Auto-Mocking with Foq and AutoFixture](https://blog.nikosbaxevanis.com/2013/10/19/auto-mocking-with-foq-and-autofixture/): 2013-10-19 - [How to configure MSBuild to locate the F# build targets](https://blog.nikosbaxevanis.com/2013/10/04/how-to-configure-msbuild-to-locate-the-fsharp-build-targets/): 2013-10-04 - [How to enable Code Analysis for F# projects](https://blog.nikosbaxevanis.com/2013/09/08/how-to-enable-code-analysis-for-fsharp-projects/): 2013-09-08 - [The GitHub way of blog discussion and commenting](https://blog.nikosbaxevanis.com/2013/04/28/the-github-way-of-blog-discussion-and-commenting/): 2013-04-28 - [Hackers, Developers, Programmers](https://blog.nikosbaxevanis.com/2013/04/18/hackers-developers-programmers/): 2013-04-18 - [XCOPY deployment for Code Contracts](https://blog.nikosbaxevanis.com/2013/03/04/xcopy-deployment-for-code-contracts/): 2013-03-04 - [Compiling .NET projects in Sublime Text](https://blog.nikosbaxevanis.com/2013/02/07/compiling-net-projects-in-sublime-text/): 2013-02-07 - [Commit to Revision Control with Care](https://blog.nikosbaxevanis.com/2013/01/01/commit-to-revision-control-with-care/): 2013-01-01 - [Empty ASP.NET Web API Project Template](https://blog.nikosbaxevanis.com/2012/11/02/empty-asp-net-web-api-project-template/): 2012-11-02 - [Exercising the SUT asynchronously](https://blog.nikosbaxevanis.com/2012/10/28/exercising-the-sut-asynchronously/): 2012-10-28 - [Truly Constrained Non-Deterministic Numbers in AutoFixture](https://blog.nikosbaxevanis.com/2012/10/08/truly-constrained-non-deterministic-numbers-in-autofixture/): 2012-10-08 - [Statement Completion for Dynamic languages in Sublime Text](https://blog.nikosbaxevanis.com/2012/10/05/statement-completion-for-dynamic-languages-in-sublime-text/): 2012-10-05 - [AutoFixture, xUnit.net, and Auto Mocking](https://blog.nikosbaxevanis.com/2012/07/31/autofixture-xunit-net-and-auto-mocking/): 2012-07-31 - [Composite xUnit.net Data Attributes](https://blog.nikosbaxevanis.com/2012/07/27/composite-xunit-net-data-attributes/): 2012-07-27 - [Web API Dependency Resolver with Castle Windsor's Scoped Lifetime](https://blog.nikosbaxevanis.com/2012/07/16/using-the-web-api-dependency-resolver-with-castle-windsor-scoped-lifetime/): 2012-07-16 - [Web API Dependency Resolver with Castle Windsor (Part 2)](https://blog.nikosbaxevanis.com/2012/06/04/using-the-web-api-dependency-resolver-with-castle-windsor-part-2/): 2012-06-04 - [URI support in AutoFixture](https://blog.nikosbaxevanis.com/2012/04/19/uri-support-in-autofixture/): 2012-04-19 - [Web API Dependency Resolver with Castle Windsor](https://blog.nikosbaxevanis.com/2012/03/16/using-the-web-api-dependency-resolver-with-castle-windsor/): 2012-03-16 - [Dynamic Proxy overriding Equals in AutoFixture Likeness](https://blog.nikosbaxevanis.com/2012/02/20/dynamic-proxy-overriding-equals-in-autofixture-likeness/): 2012-02-20 - [Auto-Mocking with FakeItEasy and AutoFixture](https://blog.nikosbaxevanis.com/2011/12/14/auto-mocking-with-fakeiteasy-and-autofixture/): 2011-12-14 - [RegularExpressionAttribute support in AutoFixture](https://blog.nikosbaxevanis.com/2011/12/11/regularexpressionattribute-support-in-autofixture/): 2011-12-11 - [Fare - Finite Automata/Regex in .NET](https://blog.nikosbaxevanis.com/2011/11/24/fare-finite-automata-regex-in-net/): 2011-11-24 - [Notes from porting Java code to .NET](https://blog.nikosbaxevanis.com/2011/11/19/notes-from-porting-java-code-to-net/): 2011-11-19 - [Using class libraries from different platforms](https://blog.nikosbaxevanis.com/2011/10/11/using-class-libraries-from-different-platforms/): 2011-10-11 - [StringLengthAttribute support in AutoFixture](https://blog.nikosbaxevanis.com/2011/09/18/stringlengthattribute-support-in-autofixture/): 2011-09-18 - [RangeAttribute support in AutoFixture](https://blog.nikosbaxevanis.com/2011/09/13/rangeattribute-support-in-autofixture/): 2011-09-13 - [Heuristics for Static Factory Methods in AutoFixture](https://blog.nikosbaxevanis.com/2011/08/25/heuristics-for-static-factory-methods-in-autofixture/): 2011-08-25 - [Combining Data Theories in AutoFixture.Xunit extension](https://blog.nikosbaxevanis.com/2011/08/25/combining-data-theories-in-autofixture-xunit-extension/): 2011-08-25