English
Related papers

Related papers: Industrial Strength Formal Using Abstractions

200 papers

Throughput limitations of existing blockchain architectures are well documented and are one of the most significant hurdles for their wide-spread adoption. In our previous proof-of-concept work, we have shown that separating computation…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-13 Alexander Hentschel , Dieter Shirley , Layne Lafrance , Maor Zamski

We consider parameterized verification of systems executing according to the total store ordering (TSO) semantics. The processes manipulate abstract data types over potentially infinite domains. We present a framework that translates the…

Formal Languages and Automata Theory · Computer Science 2023-02-14 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Florian Furbach , Adwait Godbole , Yacoub G. Hendi , Shankaranarayanan Krishna , Stephan Spengler

Formal verification provides mathematical guarantees that a software is correct. Design-level verification tools ensure software specifications are correct, but they do not expose defects in actual implementations. For this purpose,…

Software Engineering · Computer Science 2025-05-01 Paschal C. Amusuo , Parth V. Patil , Owen Cochell , Taylor Le Lievre , James C. Davis

This paper proposes a novel, abstraction-based, certified training method for robust image classifiers. Via abstraction, all perturbed images are mapped into intervals before feeding into neural networks for training. By training on…

Computer Vision and Pattern Recognition · Computer Science 2023-03-22 Zhaodi Zhang , Zhiyi Xue , Yang Chen , Si Liu , Yueling Zhang , Jing Liu , Min Zhang

First Order Logic (FOL) is a powerful reasoning tool for program verification. Recent work on Ivy shows that FOL is well suited for verification of parameterized distributed systems. However, specifying many natural objects, such as a ring…

Logic in Computer Science · Computer Science 2019-03-11 Rylo Ashmore , Arie Gurfinkel , Richard Trefler

Despite significant advancements in post-hoc explainability techniques for neural networks, many current methods rely on heuristics and do not provide formally provable guarantees over the explanations provided. Recent work has shown that…

Machine Learning · Computer Science 2025-06-11 Shahaf Bassan , Yizhak Yisrael Elboher , Tobias Ladner , Matthias Althoff , Guy Katz

Distributed in-network programs are increasingly deployed in data centers for their performance benefits, but shifting application logic to switches also enlarges the failure domain. Ensuring their correctness before deployment is thus…

Networking and Internet Architecture · Computer Science 2025-11-12 Mingyuan Song , Huan Shen , Jinghui Jiang , Qiang Su , Qingyu Song , Lu Tang , Wanjian Feng , Fei Yuan , Qiao Xiang , Jiwu Shu

Ensuring the safety and efficiency of AI systems is a central goal of modern research. Formal verification provides guarantees of neural network robustness, while early exits improve inference efficiency by enabling intermediate…

Machine Learning · Computer Science 2025-12-25 Yizhak Yisrael Elboher , Avraham Raviv , Amihay Elboher , Zhouxing Shi , Omri Azencot , Hillel Kugler , Guy Katz

We present a method for proving that a program running under the Total Store Ordering (TSO) memory model is robust, i.e., all its TSO computations are equivalent to computations under the Sequential Consistency (SC) semantics. This method…

Logic in Computer Science · Computer Science 2018-04-17 Ahmed Bouajjani , Constantin Enea , Suha Orhun Mutluergil , Serdar Tasiran

Modern machine learning frameworks support very large models by incorporating parallelism and optimization techniques. Yet, these very techniques add new layers of complexity, introducing silent errors that severely degrade model…

Machine Learning · Computer Science 2025-09-16 Kahfi S. Zulkifli , Wenbo Qian , Shaowei Zhu , Yuan Zhou , Zhen Zhang , Chang Lou

For all the successes in verifying low-level, efficient, security-critical code, little has been said or studied about the structure, architecture and engineering of such large-scale proof developments. We present the design, implementation…

Programming Languages · Computer Science 2023-07-10 Son Ho , Aymeric Fromherz , Jonathan Protzenko

Interrupts have been widely used in safety-critical computer systems to handle outside stimuli and interact with the hardware, but reasoning about interrupt-driven software remains a difficult task. Although a number of static verification…

Programming Languages · Computer Science 2017-09-29 Chungha Sung , Markus Kusano , Chao Wang

During the development and verification of complex airborne systems, a variety of languages and development environments are used for different levels of the system hierarchy. As a result, there may be manual steps to translate requirements…

Software Engineering · Computer Science 2016-04-26 Jing Liu , John D. Backes , Darren Cofer , Andrew Gacek

Programmability, performance portability, and resource efficiency have emerged as critical challenges in harnessing complex and diverse architectures today to obtain high performance and energy efficiency. While there is abundant research,…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-14 Nandita Vijaykumar

Data-Flow Integrity (DFI) is a well-known approach to effectively detecting a wide range of software attacks. However, its real-world application has been quite limited so far because of the prohibitive performance overhead it incurs.…

Hardware Architecture · Computer Science 2021-11-30 Lang Feng , Jiayi Huang , Jeff Huang , Jiang Hu

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

Model checking temporal properties of software is algorithmically hard. To be practically feasible, it usually requires the creation of simpler, abstract models of the software, over which the properties are checked. However, creating…

Formal Languages and Automata Theory · Computer Science 2025-03-17 Jesper Amilon , Dilian Gurov

Cycle-accurate software simulation of multicores with complex microarchitectures is often excruciatingly slow. People use simplified core models to gain simulation speed. However, a persistent question is to what extent the results derived…

Hardware Architecture · Computer Science 2016-10-10 Sizhuo Zhang , Andrew Wright , Daniel Sanchez , Arvind

The additional complexity caused by concurrently communicating processes in distributed systems render the verification of such systems into a very hard problem. Multiparty session types were developed to govern communication and…

Logic in Computer Science · Computer Science 2019-08-20 Kirstin Peters , Christoph Wagner , Uwe Nestmann

A common technique to verify complex logic specifications for dynamical systems is the construction of symbolic abstractions: simpler, finite-state models whose behaviour mimics the one of the systems of interest. Typically, abstractions…

Systems and Control · Electrical Eng. & Systems 2023-03-30 Rudi Coppola , Andrea Peruffo , Manuel Mazo