English
Related papers

Related papers: Formal Foundations for Translational Separation Lo…

200 papers

In theorem prover or SMT solver based verification, the program to be verified is often given in an intermediate verification language such as Boogie, Why, or CHC. This setting raises new challenges. We investigate a preprocessing step…

Software Engineering · Computer Science 2019-01-08 Daniel Dietsch , Matthias Heizmann , Jochen Hoenicke , Alexander Nutz , Andreas Podelski

SMT-based verifiers have long been an effective means of ensuring safety properties of programs. While these techniques are well understood, we show that they implicitly require eager semantics; directly applying them to a lazy language is…

Programming Languages · Computer Science 2014-01-27 Niki Vazou , Eric L. Seidel , Ranjit Jhala

We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with…

Programming Languages · Computer Science 2017-08-31 Alexei P. Lisitsa , Andrei P. Nemytykh

Over the past two decades, the Web Ontology Language (OWL) has been instrumental in advancing the development of ontologies and knowledge graphs, providing a structured framework that enhances the semantic integration of data. However, the…

Logic in Computer Science · Computer Science 2024-12-13 Atalay Mert Ileri , Nalen Rangarajan , Jack Cannell , Hande McGinty

Large Language Models (LLMs) show remarkable capabilities, yet their stochastic next-token prediction creates logical inconsistencies and reward hacking that formal symbolic systems avoid. To bridge this gap, we introduce a formal logic…

Machine Learning · Computer Science 2026-02-02 Chuxue Cao , Jinluan Yang , Haoran Li , Kunhao Pan , Zijian Zhao , Zhengyu Chen , Yuchen Tian , Lijun Wu , Conghui He , Sirui Han , Yike Guo

Proving only over source code that programs do not leak sensitive data leaves a gap between reasoning and reality that can only be filled by accounting for the behaviour of the compiler. Furthermore, software does not always have the luxury…

Programming Languages · Computer Science 2023-06-22 Robert Sison , Toby Murray

LTL3 is a multi-valued variant of Linear-time Temporal Logic for runtime verification applications. The semantic descriptions of LTL3 in previous work are given only in terms of the relationship to conventional LTL. Our approach, by…

Logic in Computer Science · Computer Science 2024-11-25 Rayhana Amjad , Rob van Glabbeek , Liam O'Connor

Static verification techniques leverage Boolean formula satisfiability solvers such as SAT and SMT solvers that operate on conjunctive normal form and first order logic formulae, respectively, to validate programs. They force bounds on…

Software Engineering · Computer Science 2014-09-25 Fadi A. Zaraket , Mohamad Noureddine

Despite numerous previous formalisation projects targeting Verilog, the semantics of Verilog defined by the Verilog standard -- Verilog's simulation semantics -- has thus far eluded definitive mathematical formalisation. Previous projects…

Programming Languages · Computer Science 2025-04-08 Andreas Lööw

Large language models (LLMs) have demonstrated remarkable progress in code generation, but many existing benchmarks are approaching saturation and offer little guarantee on the trustworthiness of the generated programs. To improve…

Software Engineering · Computer Science 2025-10-08 Xun Deng , Sicheng Zhong , Barış Bayazıt , Andreas Veneris , Fan Long , Xujie Si

Symbolic execution is an SMT-based software verification and testing technique. Symbolic execution requires tracking performed computations during software simulation to reason about branches in the software under test. The prevailing…

Software Engineering · Computer Science 2025-05-27 Sören Tempel , Tobias Brandt , Christoph Lüth , Christian Dietrich , Rolf Drechsler

Linear programming describes the problem of optimising a linear objective function over a set of constraints on its variables. In this paper we present a solver for linear programs implemented in the proof assistant Isabelle/HOL. This…

Logic in Computer Science · Computer Science 2024-03-29 Julian Parsert

Most automated verifiers for separation logic target the symbolic-heap fragment, disallowing both the magic-wand operator and the application of classical Boolean operators to spatial formulas. This is not surprising, as support for the…

Logic in Computer Science · Computer Science 2021-03-15 Jens Pagel , Florian Zuleger

Dafny is a verification-aware programming language that allows developers to formally specify their programs and prove them correct. Currently, a Dafny program is compiled in two steps: First, a backend translates the input program to a…

Programming Languages · Computer Science 2025-01-10 Daniel Nezamabadi , Magnus Myreen

This paper continues the line of research aimed at investigating the relationship between logic programs and first-order theories. We extend the definition of program completion to programs with input and output in a subset of the input…

Logic in Computer Science · Computer Science 2023-05-02 Jorge Fandinno , Vladimir Lifschitz , Patrick Lühne , Torsten Schaub

Programs are rarely implemented in a single language, and thus questions of type soundness should address not only the semantics of a single language, but how it interacts with others. Even between type-safe languages, disparate features…

Programming Languages · Computer Science 2022-04-12 Daniel Patterson , Noble Mushtak , Andrew Wagner , Amal Ahmed

We present a process for the development of safety and security critical components in transportation systems targeting a high-level certification (CENELEC 50126/50128, DO 178, CC ISO/IEC 15408). The process adheres to the objectives of an…

Software Engineering · Computer Science 2019-05-17 Sergio Bezzecchi , Paolo Crisafulli , Charlotte Pichot , Burkhart Wolff

Programming language frameworks allow us to generate language tools (e.g., interpreters) just from a formal description of the syntax and semantics of a programming language. As these frameworks tend to be quite complex, an issue arises…

Programming Languages · Computer Science 2024-09-19 Jan Tušil , Jan Obdržálek

In the hardware design process, hardware components are usually described in a hardware description language. Most of the hardware description languages, such as Verilog and VHDL, do not have mathematical foundation and hence are not fit…

Computation and Language · Computer Science 2022-02-10 Wilayat Khan , Zhe Hou , David Sanan , Jamel Nebhen , Yang Liu , Alwen Tiu

Two lines of approaches are adopted for complex reasoning with LLMs. One line of work prompts LLMs with various reasoning structures, while the structural outputs can be naturally regarded as intermediate reasoning steps. Another line of…

Artificial Intelligence · Computer Science 2025-02-25 Sen Yang , Xin Li , Leyang Cui , Lidong Bing , Wai Lam