English
Related papers

Related papers: Deeply Integrating C11 Code Support into Isabelle/…

200 papers

This paper describes the initial progress towards integrating the Coq proof assistant with the PIDE architecture initially developed for Isabelle. The architecture is aimed at asynchronous, parallel interaction with proof assistants, and is…

Human-Computer Interaction · Computer Science 2014-10-31 Carst Tankink

To develop trustworthy distributed systems, verification techniques and formal methods, including lightweight and practical approaches, have been employed to certify the design or implementation of security protocols. Lightweight formal…

Cryptography and Security · Computer Science 2024-11-28 Rémi Garcia , Paolo Modesti

Can we reuse some of the huge code-base developed in C to take advantage of modern programming language features such as type safety, object-orientation, and contracts? This paper presents a source-to-source translation of C code into…

Programming Languages · Computer Science 2013-09-20 Marco Trudel , Carlo A. Furia , Martin Nordio , Bertrand Meyer , Manuel Oriol

Type annotations are essential when printing terms in a way that preserves their meaning under reparsing and type inference. We study the problem of complete and minimal type annotations for rank-one polymorphic $\lambda$-calculus terms, as…

Logic in Computer Science · Computer Science 2026-04-20 Kevin Kappelmann , Maximilian Schäffeler , Lukas Stevens , Mohammad Abdulaziz , Andrei Popescu , Dmitriy Traytel

Modern machine learning pipelines are built on numerical algorithms. Reliable numerical methods are thus a prerequisite for trustworthy machine learning and cyber-physical systems. Therefore, we contribute a framework for verified numerical…

Logic in Computer Science · Computer Science 2025-11-26 Dustin Bryant , Jonathan Julian Huerta y Munive , Simon Foster

Software tools of Automated Reasoning are too sophisticated for general use in mathematics education and respective reasoning, while Lucas-Interpretation provides a general concept for integrating such tools into educational software with…

Programming Languages · Computer Science 2020-11-02 Walther Neuper

For years, Integrated Development Environments have demonstrated their usefulness in order to ease the development of software. High-level security or safety systems require proofs of compliance to standards, based on analyses such as code…

Programming Languages · Computer Science 2014-04-29 François Pessaux

Model execution allows us to prototype and analyse software engineering models by stepping through their possible behaviours, using techniques like animation and simulation. On the other hand, deductive verification allows us to construct…

Logic in Computer Science · Computer Science 2024-10-31 Simon Foster , Chung-Kil Hur , Jim Woodcock

Formal programming language semantics are imperative when trying to verify properties of programs in an automated manner. Using a new approach, Din et al. strengthen the ability of reasoning about concurrent programs by proposing a modular…

Programming Languages · Computer Science 2022-02-17 Niklas Heidler

LF is a dependent type theory in which many other formal systems can be conveniently embedded. However, correct use of LF relies on nontrivial metatheoretic developments such as proofs of correctness of decision procedures for LF's…

Logic in Computer Science · Computer Science 2010-05-04 Christian Urban , James Cheney , Stefan Berghofer

End-to-end (E2E) models have achieved promising results on multiple speech recognition benchmarks, and shown the potential to become the mainstream. However, the unified structure and the E2E training hamper injecting contextual information…

Computation and Language · Computer Science 2021-02-19 Minglun Han , Linhao Dong , Shiyu Zhou , Bo Xu

This paper summarizes our efforts to aid human reasoning when verification fails through the use of two distinct Formalization Integrated Development Environments (F-IDEs) that we have developed. Both environments are modular and facilitate…

Logic in Computer Science · Computer Science 2021-11-17 Yu-Shan Sun , Daniel Welch , Murali Sitaraman

The Isabelle proof assistant comes equipped with a very powerful tactic for term simplification. While tremendously useful, the results of simplifying a term do not always match the user's expectation: sometimes, the resulting term is not…

Mathematical Software · Computer Science 2014-09-18 Lars Hupel

Isabelle2Cpp is a code generation framework that supports automatic generation of C++ code from Isabelle/HOL specifications. However, if some type information of Isabelle/HOL specification is missing, Isabelle2Cpp may not complete the code…

Logic in Computer Science · Computer Science 2024-04-30 Dongchen Jiang , Chenxi Fu

We introduce a denotational semantic framework for shared-memory concurrent programs in a C11-style memory model. This denotational approach is an alternative to techniques based on "execution graphs" and axiomatizations, and it allows for…

Programming Languages · Computer Science 2018-04-13 Ryan Kavanagh , Stephen Brookes

C-based interpreters such as CPython make extensive use of C "extension" code, which is opaque to static analysis tools and faster runtimes with JIT compilers, such as PyPy. Not only are the extensions opaque, but the interface between the…

Programming Languages · Computer Science 2024-05-06 Maxwell Bernstein , CF Bolz-Tereick

Deductive verification techniques for C11 programs have advanced significantly in recent years with the development of operational semantics and associated logics for increasingly large fragments of C11. However, these semantics and logics…

Logic in Computer Science · Computer Science 2021-08-04 Daniel Wright , Mark Batty , Brijesh Dongol

Assurance cases are often required to certify critical systems. The use of formal methods in assurance can improve automation, increase confidence, and overcome errant reasoning. However, assurance cases can never be fully formalised, as…

Software Engineering · Computer Science 2021-06-11 Simon Foster , Yakoub Nemouchi , Mario Gleirscher , Ran Wei , Tim Kelly

Software libraries for most of the modern programming languages are numerous, large and complex. Remembering the syntax and usage of APIs is a difficult task for not just novices but also expert programmers. IDEs (Integrated Development…

Human-Computer Interaction · Computer Science 2014-09-24 Anant Bhardwaj , Dave Luciano , Scott Klemmer

Deductive verification has become a mature paradigm for the verification of industrial software. Applying deductive verification, however, requires that every function in the code base is annotated with a function contract specifying its…

Logic in Computer Science · Computer Science 2025-01-22 Jesper Amilon , Dilian Gurov , Christian Lidström , Mattias Nyberg , Gustav Ung , Ola Wingbrant