English
Related papers

Related papers: Get rid of inline assembly through verification-or…

200 papers

Automated translation of legacy C code into Rust aims to ensure memory safety while reducing the burden of manual migration. Early approaches in code translation rely on static rule-based methods, but they suffer from limited coverage due…

Software Engineering · Computer Science 2025-08-12 Feng Luo , Kexing Ji , Cuiyun Gao , Shuzheng Gao , Jia Feng , Kui Liu , Xin Xia , Michael R. Lyu

Verification of numerical accuracy properties in modern software remains an important and challenging task. This paper describes an original framework combining different solutions for numerical accuracy. First, we extend an existing…

Software Engineering · Computer Science 2019-11-26 Maxime Jacquemin , Fonenantsoa Maurica , Nikolai Kosmatov , Julien Signoles , Franck Védrine

We present an approach for implementing a formally certified loop-invariant code motion optimization by composing an unrolling pass and a formally certified yet efficient global subexpression elimination.This approach is lightweight: each…

Programming Languages · Computer Science 2021-05-05 David Monniaux , Cyril Six

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

Cyber-physical systems (CPS) such as autonomous cars, aircraft, and robots are often also safety-critical; thus it is imperative that they operate as intended with a high degree of certainty. Formal verification has been employed to verify…

Programming Languages · Computer Science 2026-05-07 Serra Z. Dane , Jiawei Chen , Marc Pouzet , Jean-Baptiste Jeannin

Unit tests are widely used to check source code quality, but they can be too coarse-grained or ill-suited for testing individual program statements. We introduce inline tests to make it easier to check for faults in statements. We motivate…

Software Engineering · Computer Science 2022-09-15 Yu Liu , Pengyu Nie , Owolabi Legunsen , Milos Gligoric

Program verification is vital for ensuring software reliability, especially in the context of increasingly complex systems. Loop invariants, remaining true before and after each iteration of loops, are crucial for this verification process.…

Programming Languages · Computer Science 2024-06-10 Chang Liu , Xiwei Wu , Yuan Feng , Qinxiang Cao , Junchi Yan

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

This paper describes our work on demonstrating verification technologies on a flight-critical system of realistic functionality, size, and complexity. Our work targeted a commercial aircraft control system named Transport Class Model (TCM),…

Software Engineering · Computer Science 2015-02-10 Guillaume Brat , David Bushnell , Misty Davies , Dimitra Giannakopoulou , Falk Howar , Temesghen Kahsai

Symbolic Execution is a formal method that can be used to verify the behavior of computer programs and detect software vulnerabilities. Compared to other testing methods such as fuzzing, Symbolic Execution has the advantage of providing…

Cryptography and Security · Computer Science 2025-09-29 Christopher Scherb , Luc Bryan Heitz , Hermann Grieder , Olivier Mattmann

Class-incremental learning (CIL) with pre-trained models (PTMs) faces a critical trade-off between efficient adaptation and long-term stability. While analytic learning enables rapid, recursive closed-form updates, its efficacy is often…

Machine Learning · Computer Science 2026-05-08 Binyu Zhao , Wei Zhang , Xingrui Yu , Zhaonian Zou , Ivor Tsang

Program verification is a formal technique to rigorously ensure the correctness and fault-freeness of software systems. However, constructing comprehensive interprocedural specifications for full verification obligations is time-consuming…

Software Engineering · Computer Science 2026-04-24 Lezhi Ma , Shangqing Liu , Yi Li , Qiong Wu , Han Wang , Lei Bu

The co-development of hardware and software in industrial embedded systems frequently leads to compilation errors during continuous integration (CI). Automated repair of such failures is promising, but existing techniques rely on test…

Software Engineering · Computer Science 2025-10-16 Han Fu , Sigrid Eldh , Kristian Wiklund , Andreas Ermedahl , Philipp Haller , Cyrille Artho

Detecting code clones is crucial in various software engineering tasks. In particular, code clone detection can have significant uses in the context of analyzing and fixing bugs in large scale applications. However, prior works, such as…

Software Engineering · Computer Science 2020-09-23 Hongfa Xue , Yongsheng Mei , Kailash Gogineni , Guru Venkataramani , Tian Lan

With the growing popularity of Large Reasoning Models and their results in solving mathematical problems, it becomes crucial to measure their capabilities. We introduce a pipeline for both automatic and interactive verification as a more…

Artificial Intelligence · Computer Science 2026-02-25 Varvara Sazonova , Dmitri Shmelkin , Stanislav Kikot , Vasily Motolygin

Verification presents a major bottleneck in Integrated Circuit (IC) development, consuming nearly 70% of the total development effort. While the Universal Verification Methodology (UVM) is widely used in industry to improve verification…

Hardware Architecture · Computer Science 2026-04-08 Junhao Ye , Yuchen Hu , Ke Xu , Dingrong Pan , Qichun Chen , Jie Zhou , Shuai Zhao , Xinwei Fang , Xi Wang , Nan Guan , Zhe Jiang

Loop under-approximation is a technique that enriches C programs with additional branches that represent the effect of a (limited) range of loop iterations. While this technique can speed up the detection of bugs significantly, it…

Formal Languages and Automata Theory · Computer Science 2014-10-22 Daniel Kroening , Matt Lewis , Georg Weissenbacher

Tensor processing infrastructures such as deep learning frameworks and specialized hardware accelerators have revolutionized how computationally intensive code from domains such as deep learning and image processing is executed and…

Programming Languages · Computer Science 2024-12-17 Jie Qiu , Colin Cai , Sahil Bhatia , Niranjan Hasabnis , Sanjit A. Seshia , Alvin Cheung

Large language models have become proficient at generating functional code, but ensuring the output truly matches the programmer's intent remains difficult. Testing improves trust, yet for safety-critical applications, formal verification…

Software Engineering · Computer Science 2026-02-03 Mantas Baksys , Stefan Zetzsche , Olivier Bouissou , Remi Delmas , Soonho Kong , Sean B. Holden

The complexity of software in embedded systems has increased significantly over the last years so that software verification now plays an important role in ensuring the overall product quality. In this context, SAT-based bounded model…

Software Engineering · Computer Science 2009-11-20 Lucas Cordeiro , Bernd Fischer , Joao Marques-Silva