Putting the Semantics into Semantic Versioning
summary
Argues that three-number semantic versioning is unreliable and proposes semantic version calculators that combine scalable static analysis, fuzzing, incremental and hybrid dynamic/static techniques, and cross-version testing to produce a machine-readable release certificate claiming which API or behavioral contracts changed. Existing tools detect structural API changes but behavioral breaks remain noisy, so the claim is that a certificate plus toolchain can reduce needless upgrades; no full ecosystem-grade prototype yet, and precision vs false positives is the central unresolved metric.
AI-written summary · about
chapters (7)
- 0:00Start
- 1:36Consequences of upgrading late
- 2:09Consequences of upgrading early
- 13:50Open World Assumption
- 14:53Limited set of clients
- 19:56Issue 1: Optimism (missed breakage)
- 20:13Tools Issue 2: Pessimism
related talks
15mPutting the Semantics into Semantic Versioning
08mIGNITE: Did Anyone Say SemVer?
01h 29mC++ API & ABI versioning
32mEscaping Version Skew: Formalizing Compatibility in a World of Partial Rollouts
16mWhy Is My Software on Fire?
16mSEMSAN: a Configurable Sanitizer for Detecting System-Level Semantic Bugs
32mReleasing Calendar-Versioned Software
24mVerified Three-Way Program Merge
