English
Related papers

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

200 papers

This paper introduces a new technique for dynamic verification of component-based real-time systems based on statistical inference. Verifying such systems requires checking two types of properties: functional and real-time. For functional…

Software Engineering · Computer Science 2015-01-13 Chandrakana Nandi , Aurelien Monot , Manuel Oriol

First-order optimization methods have attracted a lot of attention due to their practical success in many applications, including in machine learning. Obtaining convergence guarantees and worst-case performance certificates for first-order…

Optimization and Control · Mathematics 2023-10-04 Baptiste Goujaud , Aymeric Dieuleveut , Adrien Taylor

Deep learning provides a promising way to extract effective representations from raw data in an end-to-end fashion and has proven its effectiveness in various domains such as computer vision, natural language processing, etc. However, in…

Machine Learning · Computer Science 2021-07-06 Hui Li , Xing Fu , Ruofan Wu , Jinyu Xu , Kai Xiao , Xiaofu Chang , Weiqiang Wang , Shuai Chen , Leilei Shi , Tao Xiong , Yuan Qi

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence,…

Logic in Computer Science · Computer Science 2016-07-18 Peter Schrammel

We present a generic framework that facilitates object level reasoning with logics that are encoded within the Higher Order Logic theorem proving environment of HOL Light. This involves proving statements in any logic using intuitive…

Logic in Computer Science · Computer Science 2021-01-12 Petros Papapanagiotou , Jacques Fleuriot

Existing support for regular expressions in automated test generation or verification tools is lacking. Common aspects of regular expression engines found in mainstream programming languages, such as backreferences or greedy matching, are…

Programming Languages · Computer Science 2020-03-16 Blake Loring , Duncan Mitchell , Johannes Kinder

Program visualizations help to form useful mental models of how programs work, and to reason and debug code. But these visualizations exist at a fixed level of abstraction, e.g., line-by-line. In contrast, programmers switch between many…

Human-Computer Interaction · Computer Science 2023-06-14 Devamardeep Hayatpur , Haijun Xia , Daniel Wigdor

The compositional approach is important for reasoning about large and complex systems. In this work, we address synchronous systems with hierarchical structures, which are often used to model cyber-physical systems. We revisit the theory of…

Software Engineering · Computer Science 2024-03-19 Daisuke Ishii

Symbolic execution is a well established method for test input generation. Despite of having achieved tremendous success over numerical domains, existing symbolic execution techniques for heap-based programs are limited due to the lack of a…

Software Engineering · Computer Science 2019-09-17 Long H. Pham , Quang Loc Le , Quoc-Sang Phan , Jun Sun , Shengchao Qin

Bitcoin has attracted everyone's attention and interest recently. Ethereum (ETH), a second generation cryptocurrency, extends Bitcoin's design by offering a Turing-complete programming language called Solidity to develop smart contracts.…

Programming Languages · Computer Science 2018-04-05 Jiao Jiao , Shuanglong Kan , Shang-Wei Lin , David Sanan , Yang Liu , Jun Sun

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 remarkable capabilities, yet their stochastic next-token prediction creates logical inconsistencies and reward hacking that formal symbolic systems avoid. To bridge this gap, we introduce a formal logic…

Machine Learning · Computer Science 2026-02-02 Chuxue Cao , Jinluan Yang , Haoran Li , Kunhao Pan , Zijian Zhao , Zhengyu Chen , Yuchen Tian , Lijun Wu , Conghui He , Sirui Han , Yike Guo

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

We define a novel, extensional, three-valued semantics for higher-order logic programs with negation. The new semantics is based on interpreting the types of the source language as three-valued Fitting-monotonic functions at all levels of…

Programming Languages · Computer Science 2019-07-25 Angelos Charalambidis , Panos Rondogiannis , Ioanna Symeonidou

We present an interpretation of Deepcode, a learned feedback code that showcases higher-order error correction relative to an earlier interpretable model. By interpretation, we mean succinct analytical encoder and decoder expressions…

Information Theory · Computer Science 2024-08-23 Yingyao Zhou , Natasha Devroye , Gyorgy Turan , Milos Zefran

We classify programming languages according to evaluation order: each language fixes one evaluation order as the default, making it transparent to program in that evaluation order, and troublesome to program in the other. This paper…

Programming Languages · Computer Science 2020-08-25 Jana Dunfield

The ability to negotiate contracts for a wide range of aspects and to provide services conforming to them is a most pressing need in service-oriented architectures. High-level models of contracts are making their way into the area, but…

Software Engineering · Computer Science 2012-09-11 Gordon J. Pace , Anders P. Ravn

Many important hyperproperties, such as refinement and generalized non-interference, fall into the class of $\forall\exists$ hyperproperties and require, for each execution trace of a system, the existence of another trace relating to the…

Programming Languages · Computer Science 2025-01-15 Arthur Correnson , Tobias Niessen , Bernd Finkbeiner , Georg Weissenbacher

We introduce a method of verifying termination of logic programs with respect to concrete queries (instead of abstract query patterns). A necessary and sufficient condition is established and an algorithm for automatic verification is…

Artificial Intelligence · Computer Science 2007-05-23 Yi-Dong Shen , Li-Yan Yuan , Jia-Huai You

Software is now ubiquitous and involved in complex interactions with the human users and the physical world in so-called cyber-physical systems where the management of time is a major issue. Separation of concerns is a key asset in the…

Logic in Computer Science · Computer Science 2018-10-24 Mathieu Montin , Marc Pantel