26,098 papers · page 46 of 1,305
Amir Kafshdar Goharshady, S. Hitarth, Sergei Novozhilov
Abstract Recurrence relations are used in a wide variety of static program analysis tasks such as loop summarization, invariant generation, and, most classically, modeling the (asymptotic) worst-case runtime behavior of recursive divide-and-conquer algorithms. In this work, we fo…
Pierre Goutagny, Aymeric Fromherz, Raphaël Monat
Abstract Many legal computations, including the amount of tax owed by a citizen, whether they are eligible to social benefits, or the wages due to civil state servants, are specified by computational laws. Their application, however, is performed by expert computer programs inten…
Sung-Shik Jongmans
Abstract Choreographic programming (CP) is a method to implement distributed systems that ensures communication deadlock freedom by design. To use CP, though, the number of processes and the network among them must be known statically. Often, that information is known only dynami…
Rongen Lin, Hongjin Liang, Xinyu Feng
Abstract Algorithmic versions of the Lovász Local Lemma (ALLLs), or rather, the Moser-Tardos algorithm and its variants, are impactful in both theory and practice. In this paper, we take the first step towards the goal of formally verifying ALLLs by applying programming language …
Dragana Milovancevic, Mario Bucev, Marcin Wojnarowski, Samuel Chassot, Viktor Kuncak
Abstract We report our experience in enhancing automated grading in an undergraduate programming course using formal verification. In our experiment, we deploy a program verifier to check the equivalence between student submissions and our reference solutions, alongside the exist…
Andrei Paskevich, Paul Patault, Jean-Christophe Filliâtre
International audience
Robin Piedeleu, Mateo Torres-Ruiz, Alexandra Silva, Fabio Zanasi
Abstract We introduce a sound and complete equational theory capturing equivalence of discrete probabilistic programs, that is, programs extended with primitives for Bernoulli distributions and conditioning, to model distributions over finite sets of events. To do so, we translat…
Florian Sextl, Adam Rogalewicz, Tomás Vojnar, Florian Zuleger
Abstract Biabduction-based shape analysis is a compositional verification and analysis technique that can prove memory safety in the presence of complex, linked data structures. Despite its usefulness, several open problems persist for this kind of analysis; two of which we addre…
Christian Skalka, Joseph P. Near
Abstract Secure Multi-Party Computation (MPC) is an important enabling technology for data privacy in modern distributed applications. We develop a new type theory to automatically enforce correctness, confidentiality, and integrity properties of protocols written in the Prelude/…
Roméo La Spina, Delphine Demange, Sandrine Blazy
Abstract In this paper, we consider specific dataflow solvers, inspired by the work of Bourdoncle [5], in which an iteration order is pre-computed, based on the structure of the control-flow graph of programs. Our work aims at a clearer formulation and a better understanding of t…
Roméo La Spina, Delphine Demange, Sandrine Blazy
Abstract In this report, we provide our full set of results for the experimental evaluation of our formally verified, WTO-based dataflow solvers [2]. We also detail useful information regarding our artifact [3] and evaluation setup. In particular, we validate experimentally that …
Sergei Stepanenko, Emma Nardino, Dan Frumin, Amin Timany, Lars Birkedal
Abstract Guarded Interaction Trees are a structure and a fully formalized framework for representing higher-order computations with higher-order effects in Coq. We present an extension of Guarded Interaction Trees to support formal reasoning about context-dependent effects. That …
Felix Stutz, Emanuele D'Osualdo
Abstract We propose the Automata-based Multiparty Protocols framework (AMP) for top-down protocol development. The framework features a new very general formalism for global protocol specifications called Protocol State Machines (PSMs), Communicating State Machines (CSMs) as spec…
Yaozhu Sun, Bruno C. d. S. Oliveira
Abstract Named and optional arguments are prevalent features in many mainstream programming languages, enhancing code readability and flexibility. Despite widespread use, their formalization has not been extensively studied. This paper bridges this gap by presenting a type-safe f…
Tim Whiting, Kimball Germane
Abstract By decoupling and decomposing control flows, demand control-flow analysis (CFA) resolves only the flow segments determined necessary to produce a specified control-flow fact. It therefore presents a more flexible interface and pricing model than typical CFA, making many …
Risa Yamada, Naoki Kobayashi, Ken Sakayori, Ryosuke Sato
Abstract We study the relationship between two approaches to higher-order program verification: a semi-automated method using Dijkstra monads and a fully automated method using a higher-order fixpoint logic called HFL(Z). Although the origins of both approaches are quite differen…
Wenjia Ye, Matías Toro, Claudio Gutierrez, Bruno C. d. S. Oliveira, Éric Tanter
Abstract Practical SQL engines differ in subtle ways in their handling of typing constraints and implicit type casts. These issues, usually not considered in formal accounts of SQL, directly affect the portability of queries between engines. To understand this problem, we present…
Aleksandar S. Dimovski
This paper introduces a novel technique for synthesizing imperative programs that meet behavioral specifications given in the form of assumptions and assertions (logic formulas). In particular, we combine basic statement-directed enumerative search, static analysis via abstract i…
Christopher A. Esterhuyse, Tim Müller, L. Thomas van Binsbergen
Since its introduction at GPCE2020, the eFLINT norm specification language has been used in academic and industrial applications to specify and automate compliance for various norms, such as privacy regulations and data processing agreements. The eFLINT interpreter has been used …
Iman Hemati Moghadam, Oebele Lijzenga, Vadim Zaytsev
Automated Program Repair (APR) has advanced significantly with the emergence of pre-trained Code Language Models (CLMs), enabling the generation of high-quality patches. However, selecting the most suitable CLM for APR remains challenging due to a range of factors, including accu…