2026年8月15日 LLM 能建議 Metamorphic Relations,但它保證不了正確性 大型語言模型是發掘 test oracles 時還算稱職的腦力激盪夥伴,但它會幻覺化性質、遺漏領域限制。以下是如何安全使用它們,而不會上線錯誤的測試。 metamorphic-testingllmtest-oraclesai-engineering
2026年8月14日 大多數 Metamorphic Relations 都沒用,這裡教你怎麼挑出好的 並非所有 metamorphic relations 都能抓到缺陷。弱的關係給你虛假的信心,強的關係才能找出真正的錯誤。以下是如何區分兩者,並建構一套真正有效的關係集合。 metamorphic-testingmetamorphic-relationstestingoracle-problem
2026年8月13日 不知道正確答案是什麼,要怎麼測試程式碼? Metamorphic testing 讓你在不知道預期輸出的情況下驗證程式碼正確性。以下是它的運作方式、限制,以及如何開始使用。 metamorphic-testingoracle-problemtestingml
2026年8月12日 TypeScript 會擋下非法呼叫:在型別系統中編碼protocol狀態 如何運用 phantom types 與 `this` 參數,將非法的protocol轉換變成編譯期錯誤,而非執行期缺陷。 session-typestypescriptprotocol-statetype-systems
2026年8月11日 OpenAPI 給你字母表,Session Types 要的是文法 OpenAPI 規格描述了請求與回應的 schema,但沒有規定合法的訊息順序。以下是能從中萃取什麼,以及哪些地方仍然需要手動補齊。 session-typesopenapiprotocol-specsapi-design
2026年8月10日 Session types 確實有效。只是多數語言拒絕實作它們。 Session types 將通訊protocol編碼進型別系統,把執行期protocol錯誤變成編譯期失敗。以下是它們為何在研究論文裡待了三十年,才終於能進入正式產品程式碼。 session-typesresearchadoptiontype-systems
2026年8月9日 會話型別如何將deadlock轉化為編譯器錯誤 會話型別將通訊protocol編碼到你的型別系統中,在程式碼執行之前將訊息傳遞不匹配轉化為編譯器錯誤。 session-typesdeadlockscompile-timeprotocols
2026年8月8日 抽象詮釋聽起來像博士學位的要求。現在已經不是了 如何使用Infer在CI管道中執行形式化靜態分析,包含可運作的組態設定和現實權衡。 abstract-interpretationci-cdstatic-analysisinfer
2026年8月7日 LLM可以為你的靜態分析警告排序。只是無法解釋原因。 大語言模型可以幫助分流靜態分析中的誤報,但它們無法像抽象詮釋那樣理解程式語義。以下是如何將兩者結合。 abstract-interpretationllmstatic-analysisfalse-positives
2026年8月6日 Facebook用抽象詮釋實現了Android並行化。以下是它的運作原理。 Facebook如何利用抽象詮釋和有意的不完整性,在數百萬行Android程式碼中大規模發現競態條件。 abstract-interpretationconcurrencyandroidrace-conditions