Lightning Talks I
summary
Describes an annoying CI hole where bumping an upper bound can leave CI green because the solver chooses older transitive versions and merging breaks downstream; demonstrates a GitHub Action using cabal-outdated plus two tools cabal-force-upper-bound (force testing the actual new upper version) and cabal-plan-bounds (derive tested bounds from CI build plans so cabal file matches reality). Then describes testPrimOps, a QuickCheck-style C-- generator plus a Haskell reference interpreter used to compile and run tests across backends (aarch64, wasm, JS), which finds and helped fix a dozen backend bugs.
AI-written summary · about
chapters (24)
- 0:00H package maintenance
- 1:07GitHub action for deps
- 2:12Dangers of green PRs
- 3:36Testing upper bounds with cabal-force
- 5:27Automating dependency bounds
- 6:51Beyond upper bounds in cabal
- 8:39Demo: cabal-plan-bounds
- 10:49Limitations and future
- 12:13Dependency solver challenges
- 13:16Hackage Matrix Builder
- 14:01Q&A
- 16:18GHC backend testing
- 17:01Compiler correctness challenge
- 18:51Testing backends in isolation
- 20:37Randomized C-- testing
- 22:04Origins of test-prim-ops
- 23:29Semantics for C-- expressions
- 25:18Hiding from simplifications
- 26:23Compiling C-- programs
- 27:24Two compilers in pipeline
- 28:07Bugs found with test-prim-ops
- 29:12Advanced C-- testing
- 30:18Future C-- testing directions
- 30:41Q&A on testing
related talks
11mLightning Talk – Testing Bazel’s Remote Execution API
30mLightning Talks
10mLightning Talk: Keeping the Promise of Telco-Grade Resilience for CNFs
06mLightning Talk: Automated Testing Done Right
56mMy Journey to the Dark Side: Under-Approximation, Incorrectness, Proof
01h 08mLightning Talks Day 2
06mKudzu (Lightning Talk)
43mProperty-Based Testing - Examples from Business Applications
