13 papers · ranked by Valyu relevance
Chongyi Yuan, Lijie Wen, Xiongliang Yan
Program correctness used to be the main concern of computer software in the early days when formal semantics was a hot topic. But, the word "correct" was afterwards replaced by reliable, robust and trustworthy etc., a tradeoff situation then. This is not because correctness is no longer important, but because people…
Jinwoo Kim, Shaan Nagy, Thomas Reps, Loris D’Antoni
Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar—i.e., an inductively defined set of programs. Current verification frameworks overapproximate programs' behavior when sets of programs contain loops, including two…
Crystal Chang Din, Reiner Hähnle, Ludovic Henrio, Einar Broch Johnsen + 2 more
'Einar Broch Johnsen' 'Violet Ka I Pun' 'Silvia Lizeth Tapia Tarifa'] Abstract. Formal, mathematically rigorous programming language semantics are the essential prerequisite for the design of logics and calculi that permit automated reasoning about concurrent programs. We propose a novel modular semantics designed to…
Shin-ya Katsumata, Xavier Rival, Jérémy Dubut
Categorical semantics of type theories are often characterized as structure-preserving functors. This is because in category theory both the syntax and the domain of interpretation are uniformly treated as structured categories, so that we can express interpretations as structure-preserving functors between them. This…
Bertrand Meyer, Weber, Reto
- Zero axioms. No properties are assumed, all are proved (from standard set theory). - A single concept covers specifications and programs. - Its definition only involves one relation and one set. - Everything proceeds from three operations: choice, composition and restriction. - These techniques suffice to derive the…
J. L. Li, Noam Zilberstein, Alexandra Silva
with Branching Authors: ['J. L. Li' 'Noam Zilberstein' 'Alexandra Silva'] Abstract. While there is a long tradition of reasoning about termination (and nontermination) in the context of program analysis, specialized logics are typically needed to give different termination guarantees. This includes partial correctness…
Georgios V. Pitsiladis, Petros Stefaneas
In this paper, we address program development by multiple different programmers (or programming teams), each working in different settings (programming languages or reasoning frameworks), but following a common specification; in particular, we examine at an abstract level the problem of translatability between their…
Thomas Jensen, Vincent Rébiscoul, Alan Schmitt
This paper describes a methodology for defining an executable abstract interpreter from a formal description of the semantics of a programming language. Our approach is based on Skeletal Semantics and an abstract interpretation of its semantic meta-language. The correctness of the derived abstract interpretation can be…
David Kahn, Jan Hoffmann, Runming Li
As is evident in the programming language literature, many practitioners favor specifying dynamic program behavior using big-step over small-step semantics. Unlike small-step semantics, which must dwell on every intermediate program state, big-step semantics conveniently jumps directly to the ever-important result of…
Jiangyi Liu, Charlie Murphy, Anvay Grover, Keith J. C. Johnson + 2 more
'Thomas Reps' 'Loris D’Antoni'] Program verification and synthesis frameworks that allow one to customize the language in which one is interested typically require the user to provide a formally defined semantics for the language. Because writing a formal semantics can be a daunting and error-prone task, this…
Zheng Cheng, Jiyang Wu, Di Wang, Qinxiang Cao
A desired but challenging property of compiler verification is compositionality in the sense that the compilation correctness of a program can be deduced from that of its substructures ranging from statements, functions, and modules incrementally. Previously proposed approaches have devoted extensive effort to…
Yuyan Bao, Tiark Rompf
This paper aims to raise the bar in assessing such systems. First, we propose a semantic definition of purity, inspired by contextual equivalence, as a baseline independent of any specific typing discipline. Second, we propose that expressiveness should be measured by the degree of completeness, i.e., how many…
K. Johnson, R. Krishnan, Thomas Reps, Loris D’Antoni
Problems with Monotonic Semantics Authors: ['K. Johnson' 'R. Krishnan' 'Thomas Reps' 'Loris D’Antoni'] In top-down enumeration for program synthesis, abstraction-based pruning uses an abstract domain to approximate the set of possible values that a partial program, when completed, can output on a given input. If the…