English
Related papers

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

200 papers

The design and analysis of systems that combine computational behaviour with physical processes' continuous dynamics - such as movement, velocity, and voltage - is a famous, challenging task. Several theoretical results from programming…

Systems and Control · Electrical Eng. & Systems 2024-11-22 Pedro Mendes , Ricardo Correia , Renato Neves , José Proença

Detecting similar code fragments, usually referred to as code clones, is an important task. In particular, code clone detection can have significant uses in the context of vulnerability discovery, refactoring and plagiarism detection.…

Software Engineering · Computer Science 2021-05-26 Hongfa Xue , Yongsheng Mei , Kailash Gogineni , Guru Venkataramani , Tian Lan

Software testing and verification are critical for ensuring the reliability and security of modern software systems. Traditionally, formal verification techniques, such as model checking and theorem proving, have provided rigorous…

Software Engineering · Computer Science 2025-03-17 Norbert Tihanyi , Tamas Bisztray , Mohamed Amine Ferrag , Bilel Cherif , Richard A. Dubniczky , Ridhi Jain , Lucas C. Cordeiro

The rise of automated code generation tools, such as large language models (LLMs), has introduced new challenges in ensuring the correctness and efficiency of scientific software, particularly in complex kernels, where numerical stability,…

Programming Languages · Computer Science 2025-01-17 Naifeng Zhang , Sanil Rao , Mike Franusich , Franz Franchetti

Numerical and symbolic methods for optimization are used extensively in engineering, industry, and finance. Various methods are used to reduce problems of interest to ones that are amenable to solution by such software. We develop a…

Logic in Computer Science · Computer Science 2023-02-23 Alexander Bentkamp , Ramon Fernández Mir , Jeremy Avigad

Formally verifying properties of programs that manipulate arrays in loops is computationally challenging. In this paper, we focus on a useful class of such programs, and present a novel property-driven verification method that first infers…

Software Engineering · Computer Science 2017-10-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

The synthesis of inductive loop invariants is a critical bottleneck in automated program verification. While Large Language Models (LLMs) show promise in mitigating this issue, they often fail on hard instances, generating invariants that…

Machine Learning · Computer Science 2026-03-17 Ido Pinto , Yizhak Yisrael Elboher , Haoze Wu , Nina Narodytska , Guy Katz

Automatically synthesizing verifiable code from natural language requirements ensures software correctness and reliability while significantly lowering the barrier to adopting the techniques of formal methods. With the rise of large…

Software Engineering · Computer Science 2025-12-09 Weilin Luo , Xueyi Liang , Haotian Deng , Yanan Liu , Hai Wan

Automatic software verification tools help to find hard-to-detect faults in programs checked against specified requirements non-interactively. Besides, they can prove program correctness formally under certain assumptions. These…

Software Engineering · Computer Science 2023-09-29 Ilja Zakharov , Evgeny Novikov , Ilya Shchepetkov

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Software Engineering · Computer Science 2023-06-02 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer

During the past few years, we have witnessed various efforts to provide confidentiality and integrity for applications running in untrusted environments such as public clouds. In most of these approaches, hardware extensions such as Intel…

Cryptography and Security · Computer Science 2025-11-25 Robert Krahn , Nikson Kanti Paul , Franz Gregor , Do Le Quoc , Andrey Brito , André Martin , Christof Fetzer

Interpolation-based techniques have been widely and successfully applied in the verification of hardware and software, e.g., in bounded-model check- ing, CEGAR, SMT, etc., whose hardest part is how to synthesize interpolants. Various work…

Logic in Computer Science · Computer Science 2013-03-05 Liyun Dai , Bican Xia , Naijun Zhan

IP-based software design is a crucial research field that aims to improve efficiency and reliability by reusing complex software components known as intellectual property (IP) components. To ensure the reusability of these components,…

Software Engineering · Computer Science 2024-04-02 Zhi Ma , Cheng Wen , Jie Su , Ming Zhao , Bin Yu , Xu Lu , Cong Tian

Formal Methods are mathematically-based techniques for software design and engineering, which enable the unambiguous description of and reasoning about a system's behaviour. Autonomous systems use software to make decisions without human…

Software Engineering · Computer Science 2021-07-29 Matt Luckcuck

Critical software systems face stringent requirements in safety, security, and reliability due to the circumstances surrounding their operation. Safety and security have progressively gained importance over the years due to the integration…

Software Engineering · Computer Science 2015-12-16 Julio Escribano-Barreno , Marisol García-Valls

Assembly code search is vital for reducing the burden on reverse engineers, allowing them to quickly identify specific functions using natural language within vast binary programs. Despite its significance, this critical task is impeded by…

Software Engineering · Computer Science 2024-08-14 Zeyu Gao , Hao Wang , Yuanda Wang , Chao Zhang

Widely used complex code refactoring tools lack a solid reasoning about the correctness of the transformations they implement, whilst interest in proven correct refactoring is ever increasing as only formal verification can provide true…

Software Engineering · Computer Science 2017-08-25 Dániel Horpácsi , Judit Kőszegi , Zoltán Horváth

Large Language Models (LLMs) show promise in automated software engineering, yet their guarantee of correctness is frequently undermined by erroneous or hallucinated code. To enforce model honesty, formal verification requires LLMs to…

Software Engineering · Computer Science 2026-04-27 Md Erfan , Md Kamal Hossain Chowdhury , Ahmed Ryan , Md Rayhanur Rahman

We propose an approach for modular verification of programs written in an object-oriented language where, like in C++, the same virtual method call is bound to different methods at different points during the construction or destruction of…

Programming Languages · Computer Science 2023-07-18 Niels Mommen , Bart Jacobs

Large language models for code generation increasingly rely on synthetic data, where both problem solutions and verification tests are generated by models. While this enables scalable data creation, it introduces a previously unexplored…

Software Engineering · Computer Science 2025-09-26 Srishti Gureja , Elena Tommasone , Jingyi He , Sara Hooker , Matthias Gallé , Marzieh Fadaee