English
Related papers

Related papers: Higher-order symbolic execution for contract verif…

200 papers

Two distinct research approaches have been proposed for assigning a purely extensional semantics to higher-order logic programming. The former approach uses classical domain theoretic tools while the latter builds on a fixed-point…

Logic in Computer Science · Computer Science 2015-09-11 Angelos Charalambidis , Panos Rondogiannis , Ioanna Symeonidou

Modern processors deploy a variety of weak memory models, which for efficiency reasons may execute instructions in an order different to that specified by the program text. The consequences of instruction reordering can be complex and…

Logic in Computer Science · Computer Science 2018-12-05 Robert J. Colvin , Graeme Smith

We propose a symbolic execution method for programs that can draw random samples. In contrast to existing work, our method can verify randomized programs with unknown inputs and can prove probabilistic properties that universally quantify…

Programming Languages · Computer Science 2022-09-19 Zachary Susag , Sumit Lahiri , Justin Hsu , Subhajit Roy

We propose a hybrid-dynamic first-order logic as a formal foundation for specifying and reasoning about reconfigurable systems. As the name suggests, the formalism we develop extends (many-sorted) first-order logic with features that are…

Logic in Computer Science · Computer Science 2019-05-13 Daniel Găină , Ionuţ Ţuţu

Higher-order logic programming is an interesting extension of traditional logic programming that allows predicates to appear as arguments and variables to be used where predicates typically occur. Higher-order characteristics are indeed…

Programming Languages · Computer Science 2018-12-04 Antonis Troumpoukis , Angelos Charalambidis

This paper presents a proof system for reasoning about execution time bounds for a core imperative programming language. Proof systems are defined for three different scenarios: approximations of the worst-case execution time, exact time…

Programming Languages · Computer Science 2022-10-28 Ana Carolina Silva , Manuel Barbosa , Mario Florido

Some of the most significant high-level properties of currencies are the sums of certain account balances. Properties of such sums can ensure the integrity of currencies and transactions. For example, the sum of balances should not be…

Logic in Computer Science · Computer Science 2021-05-18 Neta Elad , Sophie Rain , Neil Immerman , Laura Kovács , Mooly Sagiv

Current static verification techniques support a wide range of programs. However, such techniques only support complete and detailed specifications, which places an undue burden on users. To solve this problem, prior work proposed gradual…

Quite often, verification tasks for distributed systems are accomplished via counter abstractions. Such abstractions can sometimes be justified via simulations and bisimulations. In this work, we supply logical foundations to this practice,…

Logic in Computer Science · Computer Science 2017-12-06 Silvio Ghilardi , Elena Pagani

Static verification techniques leverage Boolean formula satisfiability solvers such as SAT and SMT solvers that operate on conjunctive normal form and first order logic formulae, respectively, to validate programs. They force bounds on…

Software Engineering · Computer Science 2014-09-25 Fadi A. Zaraket , Mohamad Noureddine

This vision paper articulates a long-term research agenda for formal methods at the intersection with artificial intelligence, outlining multiple conceptual and technical dimensions and reporting on our ongoing work toward realising this…

Software Engineering · Computer Science 2026-02-04 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

Fundamentally, every static program analyser searches for a proof through a combination of heuristics providing candidate solutions and a candidate validation technique. Essentially, the heuristic reduces a second-order problem to a…

Logic in Computer Science · Computer Science 2015-01-20 Cristina David , Daniel Kroening , Matt Lewis

We present a novel and well automatable approach to formal verification of programs with underspecified semantics, i.e., a language semantics that leaves open the order of certain evaluations. First, we reduce this problem to…

Programming Languages · Computer Science 2022-02-14 Eduard Kamburjan , Nathan Wasser

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

Code-generating Large Language Models (LLMs) have become essential tools in modern software development, enhancing productivity and accelerating development. This paper aims to investigate the fine-tuning of code-generating LLMs using…

Software Engineering · Computer Science 2025-05-06 Marina Sakharova , Abhinav Anand , Mira Mezini

Higher-order functions and imperative states are language features supported by many mainstream languages. Their combination is expressive and useful, but complicates specification and reasoning, due to the use of yet-to-be-instantiated…

Programming Languages · Computer Science 2024-07-03 Darius Foo , Yahui Song , Wei-Ngan Chin

Rewriting logic is both a flexible semantic framework within which widely different concurrent systems can be naturally specified and a logical framework in which widely different logics can be specified. Maude programs are exactly rewrite…

Logic in Computer Science · Computer Science 2019-10-21 Francisco Durán , Steven Eker , Santiago Escobar , Narciso Martí-Oliet , José Meseguer , Rubén Rubio , Carolyn Talcott

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

In this thesis, we introduce the idea of combining symbolic execution with dynamic analysis for reverse engineering. Differently from DSE, we devise an approach where the reverse engineer can use a debugger to drive and inspect a concrete…

Cryptography and Security · Computer Science 2020-07-01 Andrea Fioraldi

An effective way to maximize code coverage in software tests is through dynamic symbolic execution$-$a technique that uses constraint solving to systematically explore a program's state space. We introduce an open-source dynamic symbolic…

Software Engineering · Computer Science 2019-11-19 Mark Mossberg , Felipe Manzano , Eric Hennenfent , Alex Groce , Gustavo Grieco , Josselin Feist , Trent Brunson , Artem Dinaburg
‹ Prev 1 3 4 5 6 7 10 Next ›