m-CFA Exhibits Perfect Stack Precision

PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2023(2023)

引用 0|浏览0
暂无评分
摘要
m-CFA is a hierarchy of control-flow analyses (CFA) formulated as abstract machines and designed to exhibit polynomial time complexity while remaining usefully precise. The Pushdown for Free technique (P4F) prescribes a continuation allocator which induces perfect stack precision wherein each function invocation returns to only its call. Unfortunately, it is difficult to apply P4F to m-CFA as P4F is developed in an ANF setting but m-CFA is formulated in a CPS setting. In this paper, we recall that ANF corresponds to a CPS sublanguage without non-local control and show that m-CFA behaves identically on both. With an ANF-based m-CFA in hand, we turn to applying P4F only to discover that it already follows the prescription. In other words, m-CFA has always had perfect stack precision, a characteristic neither intended nor recognized, at its development or since. In addition to being surprising, we discuss how this result allows a spectrum of non-local control constructs to be supported more easily and with more precision than previous techniques.
更多
查看译文
关键词
Static analysis,Control-flow analysis,Abstract interpretation
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要