12 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…
In-Ho Yi
We present a novel approach to construction of a formal semantics for a programming language. Our approach, using a parametric denotational semantics, allows the semantics to be easily extended to support new language features, and abstracted to define program analyses. We apply this in analysing a duck-typed…
Shuvendu K. Lahiri, Chao Wang, Paul Krogmeier, Umang Mathur + 3 more
'Adithya Murali' 'P. Madhusudan' 'Mahesh Viswanathan'] We identify a decidable synthesis problem for a class of programs of unbounded size with conditionals and iteration that work over infinite data domains. The programs in our class use uninterpreted functions and relations, and abide by a restriction called…
Dan R. Ghica, Nikos Tzevelekos
Game semantics is a trace-like denotational semantics for programming languages where the notion of legal observable behaviour of a term is defined combinatorially, by means of rules of a game between the term (the Proponent) and its context (the Opponent). In general, the richer the computational features a language…
Günther Charwat, Wolfgang Dvořák, Sarah A. Gaggl, Johannes P. Wallner + 1 more
'Johannes P. Wallner' 'Stefan Woltran'] Within the last decade, abstract argumentation has emerged as a central field in Artificial Intelligence. Besides providing a core formalism for many advanced argumentation systems, abstract argumentation has also served to capture several non-monotonic logics and other AI…
Pavol Černý, Edmund M. Clarke, Thomas A. Henzinger, Arjun Radhakrishna + 3 more
We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program works even with a preemptive scheduler. The correctness specification is…
Shuvendu K. Lahiri, Chao Wang, Daniel Schemmel, Julian Büning + 3 more
'César Rodríguez' 'David Laprell' 'Klaus Wehrle'] We describe a technique for systematic testing of multi-threaded programs. We combine Quasi-Optimal Partial-Order Reduction, a state-of-the-art technique that tackles path explosion due to interleaving non-determinism, with symbolic execution to handle data…
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…
Bertrand Meyer
- To describe a specification or a program, it suffices to define one relation and one set. - To describe the concepts of programming, concurrent as well as sequential, three elementary operations on sets and relations suffice: union, composition and restriction. - These techniques suffice to derive the axioms of…
Zoltan A. Kocsis, Jerry Swan
\usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\varvec{+}$$\end{document} + Proof Search \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym}…
Cristina David, Daniel Kroening
Program synthesis is the mechanized construction of software, dubbed ‘self-writing code’. Synthesis tools relieve the programmer from thinking about how the problem is to be solved; instead, the programmer only provides a description of what is to be achieved. Given a specification of what the program should do, the…
Andrej Brodnik, Andrew Csizmadia, Gerald Futschek, Lidija Kralj + 3 more
'Violetta Lonati' 'Peter Micheuz' 'Mattia Monga'] Abstract. Computer programs are part of our daily life, we use them, we provide them with data, they support our decisions, they help us remember, they control machines, etc. Programs are made by people, but in most cases we are not their authors, so we have to decide…