English
Related papers

Related papers: Invariant Relations: A Bridge from Programs to Equ…

200 papers

Word embeddings have been found to capture a surprisingly rich amount of syntactic and semantic knowledge. However, it is not yet sufficiently well-understood how the relational knowledge that is implicitly encoded in word embeddings can be…

Artificial Intelligence · Computer Science 2017-08-22 Zied Bouraoui , Shoaib Jameel , Steven Schockaert

We present a novel parsing algorithm for all context-free languages, based on computing the relation between configurations and reaching transitions in a recursive transition network. Parsing complexity w.r.t. input length matches the state…

Formal Languages and Automata Theory · Computer Science 2019-02-19 Grzegorz Herman

Multivariate functions emerge naturally in a wide variety of data-driven models. Popular choices are expressions in the form of basis expansions or neural networks. While highly effective, the resulting functions tend to be hard to…

Machine Learning · Statistics 2022-06-15 Jan Decuyper , Koen Tiels , Siep Weiland , Mark C. Runacres , Johan Schoukens

Ensuring software correctness remains a fundamental challenge in formal program verification. One promising approach relies on finding polynomial invariants for loops. Polynomial invariants are properties of a program loop that hold before…

Symbolic Computation · Computer Science 2025-05-02 Erdenebayar Bayarmagnai , Fatemeh Mohammadi , Rémi Prébet

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

We introduce Causal Program Dependence Analysis (CPDA), a dynamic dependence analysis that applies causal inference to model the strength of program dependence relations in a continuous space. CPDA observes the association between program…

Software Engineering · Computer Science 2021-04-20 Seongmin Lee , Dave Binkley , Robert Feldt , Nicolas Gold , Shin Yoo

We propose a method for encoding iterators (and recursion operators in general) using interaction nets (INs). There are two main applications for this: the method can be used to obtain a visual nota- tion for functional programs; and it can…

Programming Languages · Computer Science 2009-10-20 Ian Mackie , Jorge Sousa Pinto , Miguel Vilaca

Program analysis requires the generation of program properties expressing conditions to hold at intermediate program locations. When it comes to programs with loops, these properties are typically expressed as loop invariants. In this paper…

Programming Languages · Computer Science 2018-01-15 Andreas Humenberger , Maximilian Jaroschek , Laura Kovács

Functional programming comes in two flavours: one where ``functions are first-class citizens'' (we call this applicative) and one which is based on equations (we call this declarative). In relational programming clauses play the role of…

Programming Languages · Computer Science 2007-05-23 H. Ibrahim , M. H. van Emden

Logical relations built on top of an operational semantics are one of the most successful proof methods in programming language semantics. In recent years, more and more expressive notions of operationally-based logical relations have been…

Logic in Computer Science · Computer Science 2024-08-07 Francesco Dagnino , Francesco Gavazzo

Program synthesis approaches struggle to learn programs with numerical values. An especially difficult problem is learning continuous values over multiple examples, such as intervals. To overcome this limitation, we introduce an inductive…

Machine Learning · Computer Science 2022-10-05 Céline Hocquette , Andrew Cropper

Invariants are the predominant approach to verify the correctness of loops. As an alternative, loop contracts, which make explicit the premise and conclusion of the underlying induction proof, can sometimes capture correctness conditions…

Logic in Computer Science · Computer Science 2021-10-13 Gidon Ernst

The aim of a probabilistic output analysis is to derive a probability distribution of possible output values for a program from a probability distribution of its input. We present a method for performing static output analysis, based on…

Programming Languages · Computer Science 2015-09-30 Mads Rosendahl , Maja H. Kirkeby

One of the main challenges in the analysis of probabilistic programs is to compute invariant properties that summarise loop behaviours. Automation of invariant generation is still at its infancy and most of the times targets only expected…

Symbolic Computation · Computer Science 2019-05-30 Ezio Bartocci , Laura Kovács , Miroslav Stankovič

This paper proposes new derivations of three well-known sorting algorithms, in their functional formulation. The approach we use is based on three main ingredients: first, the algorithms are derived from a simpler algorithm, i.e. the…

Data Structures and Algorithms · Computer Science 2008-02-27 José Bacelar Almeida , Jorge Sousa Pinto

We propose a "formula slicing" method for finding inductive invariants. It is based on the observation that many loops in the program affect only a small part of the memory, and many invariants which were valid before a loop are still valid…

Logic in Computer Science · Computer Science 2016-10-04 Egor George Karpenkov , David Monniaux

Logic can be made useful for programming and for databases independently of logic programming. To be useful in this way, logic has to provide a mechanism for the definition of new functions and new relations on the basis of those given in…

Logic in Computer Science · Computer Science 2014-12-30 M. H. van Emden

Several techniques for analysis and transformations are used in compilers. Among them, the peeling of loops for hoisting quasi-invariants can be used to optimize generated code, or simply ease developers' lives. In this paper, we introduce…

Programming Languages · Computer Science 2017-04-20 Jean-Yves Moyen , Thomas Rubiano , Thomas Seiller

Neural relation extraction discovers semantic relations between entities from unstructured text using deep learning methods. In this study, we present a comprehensive review of methods on neural network based relation extraction. We discuss…

Computation and Language · Computer Science 2020-07-09 Mehmet Aydar , Ozge Bozal , Furkan Ozbay

Change-impact analysis (CIA) is the task of determining the set of program elements impacted by a program change. Precise CIA has great potential to avoid expensive testing and code reviews for (parts of) changes that are refactorings…

Software Engineering · Computer Science 2016-09-29 Alex Gyori , Shuvendu K. Lahiri , Nimrod Partush