World Congress 2023 • Sep 27, 2023

Mutation Testing and Fuzzing in C#

Michael Contento

Standard code coverage is a deceptive numbers game. Expose weak unit tests by intentionally injecting mutations into your C# code. Discover how fuzzing builds truly resilient applications.

Pause
Mute Enter Fullscreen
#1 about 5 min

Analyzing different code coverage metrics and limitations

Traditional code coverage metrics often fail to guarantee that software test suites actually verify logical correctness.

#2 about 4 min

Evaluating test suite quality using mutation testing

Introducing artificial bugs into application source code reveals hidden gaps in unit test assertions.

#3 about 5 min

Automating application mutation testing with the Stryker tool

The Stryker CLI automatically generates code mutations and provides actionable HTML reports on surviving bugs.

#4 about 4 min

Strategies for generating variations of application code

Tools alter arithmetic operators, logical conditions, and LINQ expressions to ensure tests catch inverted logic.

#5 about 4 min

Sending malformed inputs to applications using fuzzing

Fuzz testing relies on feeding repeatedly mutated or randomized data inputs to expose unexpected application crashes.

#6 about 2 min

Tracking execution paths with coverage-guided fuzzing

Application instrumentation tracks code execution depth to intelligently generate new inputs that reach unverified paths.

#7 about 4 min

Implementing American Fuzzy Lop for C# applications

The SharpFuzz library bridges C# code with the AFL tool to create explicit entry points for continuous edge-case discovery.

#8 about 4 min

Integrating mutation testing and fuzzing into software workflows

Running comprehensive mutation tests and fuzzers impacts feedback cycles and often requires specific integration strategies in continuous delivery pipelines.

Matching moments

3:58 min

Exploring advanced security tooling and community dependency vetting

Niels Tanis Niels Tanis · World Congress 2024

2:39 min

Evaluating automated approaches for generating unit test cases

Evelyn Haslinger · LIVE

3:55 min

Identifying underlying Node.js runtime vulnerabilities using fuzzing tools

Sonya Moisset · World Congress 2023

4:02 min

Executing mutation testing to discover surviving code anomalies

Jorge Gonzalez Pliego Jorge Gonzalez Pliego · Europe 2026 Virtual

3:29 min

Detecting hidden behavioral flaws using runtime dynamic analysis

Michael Wildpaner Michael Wildpaner · World Congress 2025

1:15 min

Selecting language-agnostic tools for mutation testing implementation

Jorge Gonzalez Pliego Jorge Gonzalez Pliego · Europe 2026 Virtual

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 25, 2026 · 13:30–14:00

Stage 7

Agents Can't Iterate Against Tests That Lie

Rocky Warren

Senior Staff Software Engineer at Clipboard

Rocky Warren
Open session

World Congress 2026 North America

September 25, 2026 · 11:40–12:10

Stage 2

Reinventing Testing Practices in the AI Era

Eric Deandrea

Java Champion & Senior Principal Software Engineer at IBM

Eric Deandrea
Open session

World Congress 2026 North America

September 25, 2026 · 09:00–09:30

Stage 6

Red Teaming Your LLM App -- A Hands-On Threat Model You Can Reuse

Saloni Garg

Senior ML Engineer at Adobe

Saloni Garg
Open session

World Congress 2026 North America

September 25, 2026 · 16:50–17:20

Stage 5

The Things Your AI Isn't Telling You

Desmond Lamptey

Lead Software Engineer at Capital One

Desmond Lamptey
Open session

World Congress 2026 North America

September 25, 2026 · 12:55–13:25

Stage 9

It’s Alive! Taming the MLOps Franken-Stack: Write, Run, and Serve with Michelangelo

Eric Wang, Paul Zimmerman

Eric Wang
Paul Zimmerman
Open session

World Congress 2026 North America

September 24, 2026 · 12:30–12:35

Outdoor Stage

Software change is outpacing the platforms built to understand it.

Lee Faus

Git was built for humans. I'm building what comes next.

Lee Faus