超要約:ヒープ(メモリ領域)を扱うプログラムのチェックを、最強に効率よく、完璧にする方法を発見したってコト!
● プログラムのバグ(プログラムのミス)を、もっと早く見つけられるようになるんだって! ● クラウドとかAIとか、色んなITサービスが、もっと安全になる予感💖 ● 開発コスト(お金💰)が減って、企業もユーザーもハッピーになれるかも🎵
詳細解説いくよ~!
背景
続きは「らくらく論文」アプリで
We develop the first two heap logics that have implicit heaplets and that admit FO-complete program verification. The notion of FO-completeness is a theoretical guarantee that all theorems that are valid when recursive definitions are interpreted as fixpoint definitions (instead of least fixpoint) are guaranteed to be eventually proven by the system. The logics we develop are a frame logic ($\textit{FL}$) and a separation logic ($\textit{SL-FL}$) that has an alternate semantics inspired by frame logic. We show verification condition generation for FL that is amenable to FO-complete reasoning using quantifier instantiation and SMT solvers. We show $\textit{SL-FL}$ can be translated to FL in order to obtain FO-complete reasoning. We implement tools that realize our technique and show the expressiveness of our logics and the efficacy of the verification technique on a suite of benchmarks that manipulate data structures.