English
Related papers

Related papers: A formally verified compiler back-end

200 papers

Formal verification plays a crucial role in making smart contracts safer, being able to find bugs or to guarantee their absence, as well as checking whether the business logic is correctly implemented. For Solidity, even though there…

Cryptography and Security · Computer Science 2025-11-18 Massimo Bartoletti , Silvia Crafa , Enrico Lipparini

Parser combinators are a well-known mechanism used for the compositional construction of parsers, and have shown to be particularly useful in writing parsers for rich grammars with data-dependencies and global state. Verifying applications…

Programming Languages · Computer Science 2023-05-16 Ashish Mishra , Suresh Jagannathan

Software correctness is ensured mathematically through formal verification, which involves the resources of generating formal requirement specifications and having an implementation that must be verified. Tools such as model-checkers and…

Software Engineering · Computer Science 2025-08-29 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

Concolic testing is a popular software verification technique based on a combination of concrete and symbolic execution. Its main focus is finding bugs and generating test cases with the aim of maximizing code coverage. A previous approach…

Logic in Computer Science · Computer Science 2020-09-23 Fred Mesnard , Etienne Payet , German Vidal

Being able to soundly estimate roundoff errors of finite-precision computations is important for many applications in embedded systems and scientific computing. Due to the discrepancy between continuous reals and discrete finite-precision…

Programming Languages · Computer Science 2018-08-24 Heiko Becker , Nikita Zyuzin , Raphael Monat , Eva Darulova , Magnus O. Myreen , Anthony Fox

Verifying software correctness has always been an important and complicated task. Recently, formal proofs of critical properties of algorithms and even implementations are becoming practical. Currently, the most powerful automated proof…

Logic in Computer Science · Computer Science 2019-04-10 Michael Raskin , Christoph Welzel

Program safety (i.e., absence of undefined behaviors) is critical for correct operation of computer systems. It is usually verified at the source level (e.g., by separation logics) and preserved to the target by verified compilers (e.g.,…

Programming Languages · Computer Science 2025-10-14 Jinhua Wu , Yuting Wang , Liukun Yu , Linglong Meng

We describe a new approach to automatically repairing broken proofs in the Coq proof assistant in response to changes in types. Our approach combines a configurable proof term transformation with a decompiler from proof terms to tactic…

Programming Languages · Computer Science 2021-05-13 Talia Ringer , RanDair Porter , Nathaniel Yazdani , John Leo , Dan Grossman

Verification is the process of checking whether a product has been implemented according to its prescribed specifications. We study the case of a designer (the developer) that needs to verify its design by a third party (the verifier), by…

Cryptography and Security · Computer Science 2016-05-13 Yixian Cai , George Karakostas , Alan Wassyng

Software testing plays a critical role in ensuring that systems behave as intended. However, existing automated testing approaches struggle to match the capabilities of human engineers due to key limitations such as test locality, lack of…

Software Engineering · Computer Science 2025-06-16 Kangping Xu , Yifan Luo , Yang Yuan , Andrew Chi-Chih Yao

Formal verification entails testing software to ensure it operates as specified. Smart contracts are self-executing contracts with the terms of the agreement directly written into lines of code. They run on blockchain platforms and…

Software Engineering · Computer Science 2025-10-22 Rene Davila , Everardo Barcenas , Rocio Aldeco-Perez

Compilers are used to run programs that are written in a range of designs from text to executable formats. With the advent of the internet, studies related to the development of cloud based compilers are being carried out. There is a…

Programming Languages · Computer Science 2016-05-09 Ramkumar Lakshminarayanan , Balaji Dhanasekaran , Ben George Ephre

Compilers are widely-used infrastructures in accelerating the software development, and expected to be trustworthy. In the literature, various testing technologies have been proposed to guarantee the quality of compilers. However, there…

Software Engineering · Computer Science 2018-11-01 Yixuan Tang , Zhilei Ren , Weiqiang Kong , He Jiang

Formal methods yet advantageous, face challenges towards wide acceptance and adoption in software development practices. The major reason being presumed complexity. The issue can be addressed by academia with a thoughtful plan of teaching…

Software Engineering · Computer Science 2019-06-05 Mansur Khazeev , Manuel Mazzara , Daniel De Carvalho , Hamna Aslam

Capability machines such as CHERI provide memory capabilities that can be used by compilers to provide security benefits for compiled code (e.g., memory safety). The existing C to CHERI compiler, for example, achieves memory safety by…

Programming Languages · Computer Science 2021-05-05 Akram El-Korashy , Stelios Tsampas , Marco Patrignani , Dominique Devriese , Deepak Garg , Frank Piessens

Separation kernels are fundamental software of safety and security-critical systems, which provide to their hosted applications spatial and temporal separation as well as controlled information flows among partitions. The application of…

Software Engineering · Computer Science 2016-07-12 Yongwang Zhao

CHERI-C extends the C programming language by adding hardware capabilities, ensuring a certain degree of memory safety while remaining efficient. Capabilities can also be employed for higher-level security measures, such as software…

Logic in Computer Science · Computer Science 2023-04-26 Seung Hoon Park , Rekha Pai , Tom Melham

Nowadays, smart contracts have become increasingly popular and, as with software development in general, testing is the standard method for verifying their correctness. However, smart contracts require a higher level of certainty regarding…

Software Engineering · Computer Science 2023-07-06 Alexandre Mota , Fei Yang , Cristiano Teixeira

OpenMP is a popular parallelization framework that lets users transform sequential code into parallel code with a few simple annotations. Unfortunately, it is also easy to inadvertently introduce errors by adding OpenMP pragmas into…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-28 Ke Du , Anshu Sharma , Liyi Li , William Mansky

This extended abstract reports on current progress of SMTCoq, a communication tool between the Coq proof assistant and external SAT and SMT solvers. Based on a checker for generic first-order certificates implemented and proved correct in…

Logic in Computer Science · Computer Science 2016-06-21 Burak Ekici , Guy Katz , Chantal Keller , Alain Mebsout , Andrew J. Reynolds , Cesare Tinelli
‹ Prev 1 8 9 10 Next ›