Live briefing
Everything about Differential testing
Software testing technique
Differential testing, also known as differential fuzzing, is a software testing technique that detect bugs, by providing the same input to a series of similar applications, and observing differences in their execution. Differential testing complements traditional software testing because it is well-suited to find semantic or logic bugs that do not exhibit explicit erroneous behaviors like crashes or assertion failures. Differential testing is also called back-to-back testing. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Differential testingA 5-minute orientation
- Skim a recent paper: propeller: testing for differences in cell type proportions in single cell dataInfluential work since 2022
- Pick up a classic book: Outstanding Assessment for Learning in the ClassroomThe most-reprinted book on the subject
- Read the landmark paper: Testing for differential abundance in mass cytometry dataCited 186 times
- Go sideways: FuzzingA closely related topic
- Go sideways: Symbolic executionA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Testing for differential abundance in mass cytometry data
Collusion Versus Differential Efficiency: Testing Alternative Hypotheses
Toward a differential testing approach: Testing-the-limits employing the Raven matrices
Testing Differential Gene Expression in Functional Groups
Detecting Differential Speededness in Multistage Testing
Testing Differential Item Functioning in Small Samples
Testing the differential urbanisation model for Italy
Differential Testing of Certificate Validation in SSL/TLS Implementations
🆕 Influential since 2022
propeller: testing for differences in cell type proportions in single cell data
Keep It Simple: Testing Databases via Differential Query Plans
Testing Differential Item Functioning Without Predefined Anchor Items Using Robust Regression
Detecting C++ Compiler Front-End Bugs via Grammar Mutation and Differential Testing
Rustlantis: Randomized Differential Testing of the Rust Compiler
📚 Books worth reading
Outstanding Assessment for Learning in the ClassroomJayne Bartlett · 2015- 📕Disordered Thinking and the RorschachJames H. Kleiger · 2013
- 📕Rorschach Assessment of Psychotic PhenomenaJames H. Kleiger · 2017
Essentials of DAS-II assessmentRon Dumont · 2008
Congestive heart failureJeffrey D. Hosenpud, Barry H. Greenberg · 2006
Eye Movement Disorders in Clinical PracticeShirley H. Wray · 2013- 📕Clinical utility of the dexamethasone supression testRobert M. A. Hirschfeld, David J. Kupfer · 1985
Thermal analysis of plasticsGottfried W. Ehrenstein, Gabriela Riedel · 2004
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Fuzzing In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected…
- Symbolic execution In computer science, symbolic execution (also symbolic evaluation or symbex) is a means of analyzing a program to determine what inputs cause each part…
- Concolic testing Concolic testing (a portmanteau of concrete and symbolic, also known as dynamic symbolic execution) is a hybrid software verification technique that performs…
- Dynamic program analysis Dynamic program analysis is the act of analyzing software that involves executing a program – as opposed to static program analysis, which does not execute…
- American Fuzzy Lop (software) Free and open-source software portal American Fuzzy Lop (AFL), stylized in all lowercase as american fuzzy lop, is a free software fuzzer that employs…
- Secure Network Programming Secure Network Programming (SNP) is a prototype of the first Secure Sockets Layer, designed and built in 1993 by the Networking Research Laboratory at…
- Automatic bug fixing Automatic bug-fixing is the automatic repair of software bugs without the intervention of a human programmer. It is also commonly referred to as automatic…
- Java Pathfinder Java Pathfinder (JPF) is a system to verify executable Java bytecode programs. JPF was developed at the NASA Ames Research Center and open sourced in 2005…