English
Related papers

Related papers: Verifying a Sparse Matrix Algorithm Using Symbolic…

200 papers

Cyber-Physical Systems (CPS) pose new challenges to verification and validation that go beyond the proof of functional correctness based on high-level models. Particular challenges are, in particular for formal methods, its heterogeneity…

Software Engineering · Computer Science 2017-05-02 Carna Radojicic , Christoph Grimm , Axel Jantsch , Michael Rathmair

Matrix preconditioning is a critical technique to accelerate the solution of linear systems, where performance heavily depends on the selection of preconditioning parameters. Traditional parameter selection approaches often define fixed…

Numerical Analysis · Mathematics 2025-12-30 Hong Wang , Jie Wang , Minghao Ma , Haoran Shao , Haoyang Liu

Markov Chain Monte Carlo (MCMC) algorithms are a workhorse of probabilistic modeling and inference, but are difficult to debug, and are prone to silent failure if implemented naively. We outline several strategies for testing the…

Software Engineering · Computer Science 2014-12-18 Roger B. Grosse , David K. Duvenaud

Embeddings provide compact representations of signals in order to perform efficient inference in a wide variety of tasks. In particular, random projections are common tools to construct Euclidean distance-preserving embeddings, while…

Data Structures and Algorithms · Computer Science 2019-09-05 Diego Valsesia , Sophie Marie Fosson , Chiara Ravazzi , Tiziano Bianchi , Enrico Magli

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

Consider the problem of verifying security properties of a cryptographic protocol coded in C. We propose an automatic solution that needs neither a pre-existing protocol description nor manual annotation of source code. First, symbolically…

Cryptography and Security · Computer Science 2011-07-07 Mihhail Aizatulin , Andrew D. Gordon , Jan Jürjens

Be it for a malicious or legitimate purpose, packing, a transformation that consists in applying various operations like compression or encryption to a binary file, i.e. for making reverse engineering harder or obfuscating code, is widely…

Cryptography and Security · Computer Science 2023-02-21 Alexandre D'Hondt , Charles-Henry Bertrand Van Ouytsel , Axel Legay

We present SEIF, a methodology that combines static analysis with symbolic execution to verify and explicate information flow paths in a hardware design. SEIF begins with a statically built model of the information flow through a design and…

Cryptography and Security · Computer Science 2023-08-03 Kaki Ryan , Matthew Gregoire , Cynthia Sturton

Model-based mutation testing uses altered test models to derive test cases that are able to reveal whether a modelled fault has been implemented. This requires conformance checking between the original and the mutated model. This paper…

Software Engineering · Computer Science 2012-02-29 Bernhard K. Aichernig , Elisabeth Jöbstl

Symbolic execution detects vulnerabilities with precision, but applying it to large codebases requires harnesses that set up symbolic state, model dependencies, and specify assertions. Writing these harnesses has traditionally been a manual…

Cryptography and Security · Computer Science 2026-04-09 Md Shafiuzzaman , Achintya Desai , Wenbo Guo , Tevfik Bultan

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

Software Engineering · Computer Science 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

An encryption technique is widely used to keep data confidential. Most of the block symmetric algorithms use substitution functions. Often this functions use so called S-BOX matrix. In this paper author presents one software tool for…

Cryptography and Security · Computer Science 2010-09-14 Nikolai Stoianov

Software contracts allow programmers to state rich program properties using the full expressive power of an object language. However, since they are enforced at runtime, monitoring contracts imposes significant overhead and delays error…

Programming Languages · Computer Science 2017-11-13 Phuc C. Nguyen , Thomas Gilray , Sam Tobin-Hochstadt , David Van Horn

Many online transaction scheduler architectures and algorithms for various software transactional memories have been designed in order to maintain good system performance even for high concurrency workloads. Most of these algorithms were…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-16 Miroslav Popovic , Marko Popovic , Branislav Kordic , Huibiao Zhu

The main reason for the standardization of network protocols, like QUIC, is to ensure interoperability between implementations, which poses a challenging task. Manual tests are currently used to test the different existing implementations…

Software Engineering · Computer Science 2018-11-30 Felix Rath , Daniel Schemmel , Klaus Wehrle

Verification of modern microprocessors is a complex task that requires a substantial allocation of resources. Despite significant progress in formal verification, the goal of complete verification of an industrial design has not been…

Logic in Computer Science · Computer Science 2019-12-24 Shilpi Goel , Anna Slobodova , Rob Sumners , Sol Swords

Synthesizing programs from examples requires searching over a vast, combinatorial space of possible programs. In this search process, a key challenge is representing the behavior of a partially written program before it can be executed, to…

Programming Languages · Computer Science 2021-04-21 Maxwell Nye , Yewen Pu , Matthew Bowers , Jacob Andreas , Joshua B. Tenenbaum , Armando Solar-Lezama

Masking is a widely-used effective countermeasure against power side-channel attacks for implementing cryptographic algorithms. Surprisingly, few formal verification techniques have addressed a fundamental question, i.e., whether the masked…

Cryptography and Security · Computer Science 2023-05-29 Mingyang Liu , Fu Song , Taolue Chen

Symbolic execution is a powerful technique for software testing, but suffers from limitations when encountering external functions, such as native methods or third-party libraries. Existing solutions often require additional context,…

Software Engineering · Computer Science 2025-09-11 Felix Mächtle , Nils Loose , Jan-Niclas Serr , Jonas Sander , Thomas Eisenbarth

Rust is a modern systems programming language whose type system guarantees memory safety. For the sake of expressivity and performance it allows programmers to relax typing rules temporarily, using unsafe code blocks. However, in unsafe…

Logic in Computer Science · Computer Science 2022-12-27 Nima Rahimi Foroushaani , Bart Jacobs