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

    European Symposium on Programming

    Conference

    年发文量

    研究主题

    论文(978)

    排序
    1Practical Refinement Session Type Inference
    Toby Ueno,Ankush Das

    Session types express and enforce safe communication in concurrent message-passing systems by statically capturing the interaction protocols between processes in the type. Recent works extend session types with arithmetic refinements, which enable additional fine-grained description of communication, but impose additional annotation burden on the programmer. To alleviate this burden, we propose a type inference algorithm for a session type system with arithmetic refinements. We develop a theory of subtyping for session types, including an algorithm which we prove sound with respect to a semantic definition based on type simulation. We also provide a formal inference algorithm that generates type and arithmetic constraints, which are then solved using the Z3 SMT solver. The algorithm has been implemented on top of the Rast language, and includes 3 key optimizations that make inference feasible and practical. We evaluate the efficacy of our inference engine by evaluating it on 6 challenging benchmarks, ranging from unary and binary natural numbers to linear λ -calculus. We show the performance benefits provided by our optimizations in coercing Z3 into solving the arithmetic constraints in reasonable time.

    2026引用:1
    引用
    AI阅读
    加入学术空间
    2Efficient Ranking Function-Based Termination Analysis Via Bidirectional Decompositional Search
    Yasmin Chandini Sarita, Avaljot Singh, Shaurya Gomber,Gagandeep Singh, Mahesh Vishwanathan

    Synthesizing ranking functions is a common technique for proving the termination of loops. A ranking function must be bounded and decrease by a specified amount with each iteration for all reachable program states. Since the set of reachable states is unknown, loop invariants are used to over-approximate it, requiring the joint synthesis of ranking functions and invariants. Existing approaches either synthesize them independently, encode them into a single monolithic query, or connect them through ad hoc, one-way information flow, leading to inefficient exploration of large search spaces. We present Syndicate, a termination analysis framework based on the novel concept of Bidirectional Decompositional Search (BDS). BDS keeps the ranking function and invariant synthesis decomposed but ensures continuous bi-directional feedback. This mutual guidance enables efficient exploration, significantly increasing the number of programs proven to terminate while reducing runtime compared to baselines without such feedback. Depending on the templates used, Syndicate is both relatively complete and provably efficient, outperforming existing techniques that achieve at most one of these guarantees. Despite its simplicity, Syndicate matches or surpasses state-of-the-art tools in termination proofs and runtime, demonstrating the effectiveness of bi-directional reasoning in termination analysis. Github: https://github.com/uiuc-focal-lab/Syndicate

    2026引用:1
    引用
    AI阅读
    加入学术空间
    3Contextual Metaprogramming for Session Types
    Pedro Ângelo,Atsushi Igarashi, Yuito Murase,Vasco T. Vasconcelos

    We propose the integration of staged metaprogramming into a session-typed message passing functional language. We build on a model of contextual modal type theory with multi-level contexts, where contextual values, closing arbitrary terms over a series of variables, may be boxed and transmitted in messages. Once received, one such value may then be unboxed and locally applied before being run. To motivate this integration, we present examples of real-world use cases, for which our system would be suitable, such as servers preparing and shipping code on demand via session typed messages. We present a type system that distinguishes linear (used exactly once) from unrestricted (used an unbounded number of times) resources, and further define a type checker, suitable for a concrete implementation. We show type preservation, a progress result for sequential computations and absence of runtime errors for the concurrent runtime environment, as well as the correctness of the type checker.

    2026引用:1
    引用
    AI阅读
    加入学术空间
    4Outrunning Big KATs: Efficient Decision Procedures for Variants of GKAT
    Cheng Zhang, Qiancheng Fu, Hang Ji, Ines Santacruz Del Valle, Alexandra Silva,Marco Gaboardi

    This paper presents several efficient decision procedures for trace equivalence of GKAT automata, which make use of on-the-fly symbolic techniques via SAT solvers. To demonstrate applicability of our algorithms, we designed symbolic derivatives for CF-GKAT, a practical system based on GKAT designed to validate control-flow transformations. We implemented the algorithms in Rust and evaluated them on both randomly generated benchmarks and real-world control-flow transformations. Indeed, we observed order-of-magnitude performance improvements against existing implementations for both KAT and CF-GKAT. Notably, our experiments also revealed a bug in Ghidra, an industry-standard decompiler, highlighting the practical viability of these systems.

    2026引用:1
    引用
    AI阅读
    加入学术空间
    5Error Localization, Certificates, and Hints for Probabilistic Program Verification Via Slicing
    Philipp Schröer, Darion Haase, Joost-Pieter Katoen

    This paper focuses on effective user diagnostics generated during the deductive verification of probabilistic programs. Our key principle is based on providing slices for (1) error reporting, (2) proof simplification, and (3) preserving successful verification results. By formally defining these different notions on HeyVL, an existing quantitative intermediate verification language (IVL), our concepts (and implementation) can be used to obtain diagnostics for a range of probabilistic programming languages. Slicing for error reporting is a novel notion of error localization for quantitative assertions. We demonstrate slicing-based diagnostics on a variety of proof rules such as quantitative versions of the specification statement and invariant-based loop rules, and formally prove the correctness of specialized error messages and verification hints. We implemented our user diagnostics into the deductive verifier Caesar. Our novel implementation — called Brutus — can search for slices which do or do not verify, corresponding to each of the three diagnostic notions. For error reporting (1), it exploits a binary search-based algorithm that minimizes error-witnessing slices. To solve for slices that verify (2 and 3), we empirically compare different algorithms based on unsatisfiable cores, minimal unsatisfiable subset enumeration, and a direct SMT encoding of the slicing problem. Our empirical evaluation of Brutus on existing and new benchmarks shows that we can find slices that are both small and informative.

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

    高被引作者

    作者引用发文
    Kohei Honda11034
    Philip Wadler10393
    Peter O'Hearn8323
    Vasco T. Vasconcelos8076
    Nobuko Yoshida78211
    Lars Birkedal67614
    Matthias Felleisen60611
    Peter Müller5929
    Luís Caires48412
    Greg Morrisett4816

    高产作者

    作者引用发文
    Lars Birkedal67614
    Helmut Seidl40713
    Luís Caires48412
    Matthias Felleisen60611
    Mooly (Shmuel) Sagiv39611
    Nobuko Yoshida78211
    Gilles Barthe30210
    Peter Müller5929
    Marco Gaboardi2259
    Ugo Dal Lago2099

    相关期刊

    ACM-SIGACT Symposium on Principles of Programming Languages
    Tools and Algorithms for Construction and Analysis of Systems
    International Symposium on Functional and Logic Programming
    International Colloquium on Theoretical Aspects of Computing
    Implementation and Application of Functional Languages
    Interactive Theorem Proving
    Asian Symposium on Programming Languages and Systems
    Principles and Practice of Declarative Programming
    Journal of Functional Programming
    Certified Programs and Proofs