• 学术搜索
  • 科研智能体
    • Research Labs
    • AI 阅读
    • AI 文库
    • 深度研究
    • 学者亮点
  • 学术资源
    • AI2000
    • 期刊/会议
    • 学者库
    • 学术API
      MCP&Skill
    • 溯源树
    • 数据集
  • 知识沉淀
    • 学术空间
订阅小程序
旧版功能
aminer vip
开通会员低至0.73元/天
一次搞定AI科研
立即登录
  • English
  • 联系方式
    ACM-SIGPLAN Symposium on Programming Language Design and Implementation

    ACM-SIGPLAN Symposium on Programming Language Design and Implementation

    ConferenceCCF 软件工程/系统软件/程序设计语言 A

    年发文量

    研究主题

    论文(3706)

    排序
    1Editorial Message.
    Manu Sridharan
    2026
    引用
    AI阅读
    加入学术空间
    2Pantomime: Constructive Leakage Proofs Via Simulation.
    Robin Webbers, Robert Schenck, Wind Wong, Kristina Sojakova,Klaus von Gleissenthall

    Tools for verifying leakage descriptions of hardware aim to ensure that a given hardware design doesn’t leak secrets via its microarchitecture, when executing programs with appropriate countermeasures. However, existing techniques for proving correctness of leakage descriptions are based on non-constructive proofs via non-interference. As a result, they often rely on expensive solvers that offer little help when verification fails or require handwritten invariants, which are difficult to come up with and even harder to debug. In this paper, we present a new approach to leakage verification which we call simulation-based leakage proofs . To show that a leakage description correctly captures a hardware design using a simulation-based proof, the user constructs a simulator—another hardware design that must faithfully replicate all attacker-observable behavior from explicitly leaked secrets. Simulation-based proofs therefore offer a constructive alternative to classic non-interference proofs, exposing a proof object—the simulator, witnessing the correctness claim. As simulators are just programs, we can write, execute and debug them like any other program, making them easy to use. We also show that they can be checked locally, which makes proof checking fast. We implement simulation-based leakage proofs in P ANTOMIME , a tool that supports writing processors and their leakage proofs in Haskell; we report on using Pantomime to write and verify AIM Core , a 5-stage in-order processor, its leakage description, and simulator, as well as a side-channel hardened version of the core. We show that Pantomime verifies them efficiently (it checks AIM Core in under 40s), and use AIMCore’s leakage description to check for leakages in crypto libraries which uncovered two new vulnerabilities in wolfSSL that have both been assigned CVE’s.

    2026
    引用
    AI阅读
    加入学术空间
    3Analyzing Bytes: Pre-Disassembly Static Binary Analysis.
    Huan Nguyen,Soumyakant Priyadarshan, Chencheng Jiang, R. Sekar

    Binary code analysis plays a central role in numerous applications in software security, performance optimization, reverse engineering, and so on. Existing techniques need to first disassemble binaries into functions in assembly code before an analysis can be performed. However, disassembly and function identification have proven to be major challenges for complex variable-length instruction sets such as the x86. A recent trend has been to use static analysis to improve the accuracy of these tasks. This raises a chicken-and-egg problem: a disassembly is needed for static analysis, but a static analysis is needed for accurate disassembly! We overcome this problem by developing a novel static analysis approach that can operate before committing to a disassembly. Our analysis operates on the output of exhaustive disassembly that considers each possible offset in a binary as an instruction, and constructs what is known as a super-set control-flow graph (CFG). The central technical challenge in analyzing this CFG is that it mixes legitimate instructions with unintended ones, causing analysis results from invalid code paths to pollute legitimate ones. To overcome this challenge, we begin with a key new insight that if we focus on backward analyses, we can ensure accuracy of analysis results at intended instructions even though we have no idea where these intended instructions are! Moreover, our analysis operates in time that is linear in the size of the binary. Specifically, in O ( n ) total time, it yields analysis results for every one of the n offsets in an n -byte binary. For this task, it is orders of magnitude faster than previous techniques, as the previous techniques typically need to repeat the analysis many times.

    2026
    引用
    AI阅读
    加入学术空间
    4VerusBelt: A Semantic Foundation for Verus's Proof-Oriented Extensions to the Rust Type System.
    Travis Hance, Laila Elbeheiry,Yusuke Matsushita,Derek Dreyer

    Verus is a verification tool for the Rust programming language that has already been put to use in several significant systems verification efforts. Verus offers a distinctive approach among Rust verification systems in that, in addition to offering fast SMT-based automation, it supports verification of both safe and unsafe Rust code in a single, unified framework. It achieves this by providing users with a range of proof-oriented types —types introduced specifically by Verus to aid in verification—on top of which one can then build verified implementations of Rust APIs that would otherwise require the use of unsafe Rust features. In this paper, we develop VerusBelt, the first semantic soundness proof for a significant subset of Verus. In addition to modeling the full range of Verus’s core proof-oriented types—including cells, invariants, resource algebras, and storage protocols—VerusBelt accounts (for the first time) for full-fledged Rust lifetimes, concurrency and thread safety, and mutable borrows. A central challenge involves building a model of shared borrows that is generic enough to support storage protocols—we tackle this by marrying RustBelt’s lifetime logic with the Leaf library for temporary resource sharing in Iris. All our proofs are mechanized in Iris/Rocq.

    2026
    引用
    AI阅读
    加入学术空间
    5Dynamically Checked Deep Immutability in Python.
    Fridtjof Peer Stoldt,Sylvan Clebsch, Matthew A. Johnson,Matthew J. Parkinson,Tobias Wrigstad

    Immutability is common in the programming mainstream: deep immutability is the default in functional languages while imperative languages typically provide opt-in support for shallow immutability, usually enforced through static checking. Python is a dynamic imperative language where mutability is inherent: not only are most objects mutable, but programs themselves—modules, classes, functions—are represented by mutable objects at run-time, and libraries routinely rely on this mutability. This makes adding immutability to Python a significant challenge. This paper presents the design and implementation of deep immutability for Python. Our primary motivation is to permit multiple sub-interpreters to directly share object references, which currently requires costly serialisation. Sharing via immutability introduces a soundness challenge, as a violation could corrupt the interpreter’s state. We identify numerous challenges that stem from decades of design decisions that did not anticipate immutability, and show how they can be overcome through two complementary techniques: detachment , which severs run-time links that would cause immutability to propagate too widely, and freezability , which gives objects run-time control over whether and how they may become immutable. Together, these principles form a general design pattern for deep immutability in dynamic languages. We validate our design with an implementation on CPython 3.15 that is backwards-compatible with existing programs and enables direct, zero-copy sharing of immutable objects across sub-interpreters.

    2026
    引用
    AI阅读
    加入学术空间
    立即登录,查看全部 3706 篇论文

    高被引作者

    作者引用发文
    Alex Aiken621536
    Vijay Janapa Reddi60282
    Harish Patil60212
    Kim Hazelwood59942
    Ck Luk59881
    Robert Muth59881
    P. Geoffrey Lowney59881
    Steven Wallace59881
    Artur Klauser59881
    Robert Cohn59881

    高产作者

    作者引用发文
    Alex Aiken621536
    Martin Vechev299328
    Martin C. Rinard229626
    Isil Dillig185825
    Rastislav Bodik381222
    Paul Frenger9721
    Henry G. Baker39221
    Kathryn S McKinley273120
    Zhendong Su262519
    Zhong Shao122317

    相关期刊

    Proceedings of the ACM on Programming Languages
    ACM Transactions on Programming Languages and Systems
    Dagstuhl Artifacts Series
    The Usenix Magazine
    European Conference on Object-Oriented Programming
    Software Engineering: Theories, Tools, and Applications
    Compiler Construction
    Formal Methods in Computer-Aided Design
    Intermediate Representation Engineering for Virtual Machines
    Art, Science and Engineering of Programming