Aug 15, 2026 LLMs Can Suggest Metamorphic Relations. They Just Can't Guarantee Them. Large language models are decent brainstorming partners for discovering test oracles, but they hallucinate properties and miss domain constraints. metamorphic-testingllmtest-oraclesai-engineering
Aug 14, 2026 Most Metamorphic Relations Are Useless. Here's How to Pick the Good Ones. Not all metamorphic relations catch bugs. Weak relations give false confidence while strong ones find real faults. metamorphic-testingmetamorphic-relationstestingoracle-problem
Aug 13, 2026 How do I test code when I don't know the right answer? Metamorphic testing lets you verify code correctness without knowing the exact expected output. metamorphic-testingoracle-problemtestingml
Aug 12, 2026 TypeScript Won't Let You Make That Call: Encoding Protocol State in the Type System How to use phantom types and `this` parameters to turn illegal protocol transitions into compile-time errors instead of runtime bugs. session-typestypescriptprotocol-statetype-systems
Aug 11, 2026 OpenAPI Gives You the Alphabet. Session Types Need the Grammar. OpenAPI specs describe request and response schemas, but they don't specify valid message sequences. session-typesopenapiprotocol-specsapi-design
Aug 10, 2026 Session types work. Most languages just refused to implement them. Session types encode communication protocols in the type system, turning runtime protocol errors into compile-time failures. session-typesresearchadoptiontype-systems
Aug 9, 2026 How session types turn deadlocks into compiler errors Session types encode communication protocols in your type system, turning message-passing mismatches into compiler errors before your code ever runs. session-typesdeadlockscompile-timeprotocols
Aug 8, 2026 Abstract interpretation sounds like a PhD requirement. It isn't anymore. How to run formal static analysis in your CI pipeline using Infer, with working configs and realistic trade-offs. abstract-interpretationci-cdstatic-analysisinfer
Aug 7, 2026 LLMs Can Rank Your Static Analysis Warnings. They Just Can't Explain Why. Large language models can help triage static analysis false positives, but they don't understand program semantics the way abstract interpretation does. abstract-interpretationllmstatic-analysisfalse-positives
Aug 6, 2026 Facebook parallelized Android with abstract interpretation. Here's how it works. How Facebook used abstract interpretation and intentional unsoundness to find race conditions at scale in millions of lines of Android code. abstract-interpretationconcurrencyandroidrace-conditions