Performance and Testing of an Open Source Erlang TCP/IP Stack
summary
An open‑source user‑level Erlang TCP/IP stack is extensively tested with QuickCheck plus the scheduler tool Pulse; the model encodes TCP state machines, injects crafted SYN/SYN‑ACK/ACK sequences, and shrinks failing traces. Tests find rare concurrency bugs (one hangs about every 100,000 runs), a simultaneous‑close hang and packet‑content edge cases; those are fixed and the stack compares performance against the kernel stack and on OSv as reported, now considered conformant.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 2:00What is TCPIP
- 3:12Open Source Erlang TCPIP
- 4:18State Machines
- 6:56API
- 9:00Generate Tests
- 9:57Process Registration
- 11:17Test Cases
- 17:35Quick Check
- 23:33Traditional Quick Check
- 31:08Quick Check Model
- 35:38Questions
related talks
23mValidate your TCPIP stack on the embedded device
13mTCP-Fuzz: Detecting Memory and Semantic Bugs in TCP Stacks with Fuzzing
39mLast-Minute Performance Testing
27mBreak It Yourself
47mTesting the Hard Stuff and Staying Sane
36mPerformance Optimization 101
45mTesting Asynchronous OTP
35mA Whirlwind Tour of Testing in Elixir
