English
Related papers

Related papers: Cuv\'ee: Blending SMT-LIB with Programs and Weakes…

200 papers

We present a method based on program analysis and formal verification to identify conditionally relevant variables (CRVs) - variables which could lead to violation of safety properties in control software when affected by single event…

Software Engineering · Computer Science 2025-05-13 Ganesha , Sujit Kumar Chakrabarti

We report on work in progress on automatic procedures for proving properties of programs written in higher-order functional languages. Our approach encodes higher-order programs directly as first-order SMT problems over Horn clauses. It is…

Logic in Computer Science · Computer Science 2013-06-25 Nikolaj Bjorner , Ken McMillan , Andrey Rybalchenko

Large language models (LLMs) have shown increasing competence in solving mathematical reasoning problems. However, many open-source LLMs still struggle with errors in calculation and semantic understanding during intermediate reasoning…

Computation and Language · Computer Science 2024-12-18 Vernon Y. H. Toh , Deepanway Ghosal , Soujanya Poria

We present the linear first-order intermediate language IL for verified compilers. IL is a functional language with calls to a nondeterministic environment. We give IL terms a second, imperative semantic interpretation and obtain a register…

Programming Languages · Computer Science 2015-06-05 Sigurd Schneider , Gert Smolka , Sebastian Hack

Hybrid languages like the quantum intermediate representation (QIR) are essential for programming systems that mix quantum and conventional computing models, while execution of these programs is often deferred to a system-specific…

We present an SMT-based symbolic model checking algorithm for safety verification of recursive programs. The algorithm is modular and analyzes procedures individually. Unlike other SMT-based approaches, it maintains both "over-" and…

Logic in Computer Science · Computer Science 2014-05-27 Anvesh Komuravelli , Arie Gurfinkel , Sagar Chaki

Hoare-style verification provides a principled foundation for reasoning about the correctness of quantum programs, but existing approaches do not allow fully automatic verification. While automata-based verification scales well when…

Logic in Computer Science · Computer Science 2026-05-08 Wei-Lun Tsai , Yu-Fang Chen , Ondřej Lengál

Today's programmers face a false choice between creating software that is extensible and software that is correct. Specifically, dynamic languages permit software that is richly extensible (via dynamic code loading, dynamic object…

Programming Languages · Computer Science 2016-08-23 Matthew A. Hammer , Bor-Yuh Evan Chang , David Van Horn

We present Hindley-Milner-Cousots (HMC), an algorithm that allows any interprocedural analysis for first-order imperative programs to be used to verify safety properties of typed higher-order functional programs. HMC works as follows.…

Programming Languages · Computer Science 2011-01-04 Ranjit Jhala , Rupak Majumdar , Andrey Rybalchenko

The integration of Large Language Model (LLMs) blocks with Vision Transformers (ViTs) holds immense promise for vision-only tasks by leveraging the rich semantic knowledge and reasoning capabilities of LLMs. However, a fundamental challenge…

Computer Vision and Pattern Recognition · Computer Science 2025-07-10 Selim Kuzucu , Muhammad Ferjad Naeem , Anna Kukleva , Federico Tombari , Bernt Schiele

In recent years, code security has become increasingly important, especially with the rise of interconnected technologies. Detecting vulnerabilities early in the software development process has demonstrated numerous benefits. Consequently,…

Software Engineering · Computer Science 2024-07-22 José Gonçalves , Tiago Dias , Eva Maia , Isabel Praça

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

A program verifier is a tool that can be used to verify that a "contract" for a program holds - i.e. given a precondition the program guarantees that a given postcondition holds - by only working at the level of the annotated program. An…

Software Engineering · Computer Science 2014-06-12 Gudmund Grov

This paper presents a framework that integrates Large Language Models (LLMs) into translation validation, targeting LLVM compiler transformations where formal verification tools fall short. Our framework first utilizes existing formal…

Programming Languages · Computer Science 2024-02-02 Yanzhao Wang , Fei Xie

Software verification has emerged as a key concern for ensuring the continued progress of information technology. Full verification generally requires, as a crucial step, equipping each loop with a "loop invariant". Beyond their role in…

Software Engineering · Computer Science 2014-01-14 Carlo A. Furia , Bertrand Meyer , Sergey Velder

Language models (LMs) can solve tasks such as answering questions about tables or images by writing programs. However, using primitive functions often leads to verbose and error-prone programs, and higher-level functions require expert…

Artificial Intelligence · Computer Science 2024-01-24 Zhiruo Wang , Daniel Fried , Graham Neubig

An important step toward adoption of formal methods in software development is support for mainstream programming languages. Unfortunately, these languages are often rather complex and come with substantial standard libraries. However, by…

Software Engineering · Computer Science 2018-06-01 Vladimír Štill , Petr Ročkai , Jiří Barnat

In this paper we promote introducing software verification and control flow graph similarity measurement in automated evaluation of students' programs. We present a new grading framework that merges results obtained by combination of these…

Artificial Intelligence · Computer Science 2012-07-02 Milena Vujosevic-Janicic , Mladen Nikolic , Dusan Tosic , Viktor Kuncak

We present the new version of the Loop Acceleration Tool (LoAT), a powerful tool for proving non-termination and worst-case lower bounds for programs operating on integers. It is based on a novel calculus for loop acceleration, i.e.,…

Logic in Computer Science · Computer Science 2022-05-17 Florian Frohn , Jürgen Giesl

While loops are present in virtually all imperative programming languages. They are important both for practical reasons (performing a number of iterations not known in advance) and theoretical reasons (achieving Turing completeness). In…

Programming Languages · Computer Science 2023-09-26 David Nowak , Vlad Rusu
‹ Prev 1 3 4 5 6 7 10 Next ›