Stockfish Top Authors and Methods
Analysis of Stockfish search.cpp contributors (April 2013 to December 2025)
Overview
This report ranks the top 20 Stockfish contributors by merged commits to src/search.cpp over 12 years of development.[1][2] The analysis is based on the git commit history of the official Stockfish repository, counting only accepted pull requests that were merged into master.[1] This file contains the core alpha-beta search implementation with all pruning, reduction, extension, and move ordering logic.[2][3]
Authors are identified by their GitHub accounts.[1] Author names link to their GitHub profiles.[1] Multiple git author names are consolidated to their primary GitHub accounts (e.g., Michael Chaly commits as both "Michael Chaly" and "Vizvezdenec").[1]
Authors Ranked by Merged Commits
| # | Author (GitHub Account) | Commits | Top Methods |
|---|---|---|---|
| 1 | Marco Costalba | 268 | PvNode, ttMove, cutNode |
| 2 | Michael Chaly | 176 | PvNode, ttMove, cutNode |
| 3 | Joost VandeVondele | 139 | PvNode, improving, ttMove |
| 4 | FauziAkram | 128 | PvNode, ttMove, cutNode |
| 5 | Shawn Xu | 98 | PvNode, cutNode, ttMove |
| 6 | VoyagerOne | 95 | PvNode, cutNode, ttMove |
| 7 | Stefan Geschwentner | 83 | ttMove, PvNode, cutNode |
| 8 | Daniel Monroe | 58 | cutNode, PvNode, statScore |
| 9 | Stephane Nicolet | 53 | PvNode, ttMove, improving |
| 10 | Guenther Demetz | 41 | ttMove, PvNode, nullMove |
| 11 | Muzhen Gaming | 40 | PvNode, singular, cutNode |
| 12 | bmc4 | 33 | PvNode, ttMove, ttHit |
| 13 | Disservin | 30 | PvNode, ttMove, cutNode |
| 14 | lucasart | 29 | PvNode, cutNode, ttMove |
| 15 | xoto10 | 28 | improving, futility, statScore |
| 16 | mstembera | 27 | ttMove, PvNode, improving |
| 17 | Joona Kiiski | 24 | PvNode, ttMove, cutNode |
| 18 | Dubslow | 24 | PvNode, ttMove, cutNode |
| 19 | Nonlinear2 | 23 | PvNode, cutNode, ttMove |
| 20 | joergoster | 22 | ttMove, PvNode, cutNode |
Method Definitions
Principal Variation Node (PV-Node, Type 1)
Hash Move / Transposition Table Move
Cut Node (Type 2, Fail-High Node)
Improving Heuristic
Singular Extensions
Null Move Pruning (NMP)
Futility Pruning
References
Primary Sources
- Stockfish Chess Engine - Official GitHub Repository. https://github.com/official-stockfish/Stockfish
- Stockfish search.cpp - Main search implementation. https://github.com/official-stockfish/Stockfish/blob/master/src/search.cpp
- Chess Programming Wiki. https://www.chessprogramming.org/
- Fishtest - Stockfish Testing Framework. https://tests.stockfishchess.org/
Chess Programming Wiki - Search Algorithms
- Alpha-Beta Pruning
- Principal Variation Search (PVS)
- Node Types (PV, Cut, All)
- Iterative Deepening
- Aspiration Windows
- Quiescence Search
Chess Programming Wiki - Pruning and Reductions
- Late Move Reductions (LMR)
- Null Move Pruning
- Futility Pruning
- Razoring
- ProbCut
- Internal Iterative Reductions (IIR)
- Singular Extensions
- Multi-Cut
Chess Programming Wiki - Move Ordering and Heuristics
- Move Ordering
- Transposition Table
- Hash Move
- History Heuristic
- Killer Heuristic
- Countermove Heuristic
- Static Exchange Evaluation (SEE)
- Improving Heuristic