English
Related papers

Related papers: Verified type checker for Jolie programming langua…

200 papers

Verifiers that can prove programs correct against their full functional specification require, for programs with loops, additional annotations in the form of loop invariants---propeties that hold for every iteration of a loop. We show that…

Software Engineering · Computer Science 2016-02-09 Juan P. Galeotti , Carlo A. Furia , Eva May , Gordon Fraser , Andreas Zeller

Rule formats can quickly establish meta-theoretic properties of process algebras. It is then desirable to identify domain-specific languages (DSLs) that can easily express rule formats. In prior work, we have developed Lang-n-Change, a DSL…

Programming Languages · Computer Science 2023-04-14 Matteo Cimini

There are plenty of excellent plotting libraries. Each excels at a different use case: one is good for printed 2D publication figures, the other at interactive 3D graphics, a third has excellent L A TEX integration or is good for creating…

Software model checking, as an undecidable problem, has three possible outcomes: (1) the program satisfies the specification, (2) the program does not satisfy the specification, and (3) the model checker fails. The third outcome usually…

Software Engineering · Computer Science 2015-03-19 Dirk Beyer , Thomas A. Henzinger , M. Erkan Keremoglu , Philipp Wendler

In this tutorial I will present how a combination of linear and dependent type can be useful to describe different properties about higher order programs. Linear types have been proved particularly useful to express properties of functions;…

Programming Languages · Computer Science 2013-07-01 Marco Gaboardi

In this paper we consider the problem of certified static checking of module-like constructs of programming languages. We argue that there are algorithms and properties related to modules that can be defined and proven in an abstract way.…

Programming Languages · Computer Science 2017-06-20 Julia Belyakova

In the past two decades, significant research and development effort went into the development of verification tools for individual languages, such asC, C++, and Java. Many of the used verification approaches are in fact language-agnostic…

Programming Languages · Computer Science 2025-11-27 Dirk Beyer , Gidon Ernst , Martin Jonáš , Marian Lingsch-Rosenfeld

ReScript introduces a strongly typed language that targets JavaScript, as an alternative to gradually typed languages, such as TypeScript. In this paper, we present a type system for data-flow analysis for a subset of the ReScript language,…

Programming Languages · Computer Science 2024-08-23 Nicky Ask Lund , Hans Hüttel

Proof scores can be regarded as outlines of the formal verification of system properties. They have been historically used by the OBJ family of specification languages. The main advantage of proof scores is that they follow the same syntax…

Logic in Computer Science · Computer Science 2025-04-22 Adrian Riesco , Kazuhiro Ogata , Masaki Nakamura , Daniel Gaina , Duong Dinh Tran , Kokichi Futatsugi

A type debugger interactively detects the expressions that cause type errors. It asks users whether they intend the types of identifiers to be those that the compiler inferred. However, it seems that novice programmers often get in trouble…

Programming Languages · Computer Science 2014-12-17 Yuki Ishii , Kenichi Asai

This paper presents a logic based approach to debugging Java programs. In contrast with traditional debugging we propose a debugging methodology for Java programs using logical queries on individual execution states and also over the…

Programming Languages · Computer Science 2007-05-23 Hani Girgis , Bharat Jayaraman

A coverage type generalizes refinement types found in many functional languages with support for must-style underapproximate reasoning. Property-based testing frameworks are one particularly useful domain where such capabilities are useful…

Programming Languages · Computer Science 2025-09-03 Zhe Zhou , Benjamin Delaware , Suresh Jagannathan

We show that time complexity analysis of higher-order functional programs can be effectively reduced to an arguably simpler (although computationally equivalent) verification problem, namely checking first-order inequalities for validity.…

Logic in Computer Science · Computer Science 2012-10-26 Ugo Dal Lago , Barbara Petit

Hoare-style program logics are a popular and effective technique for software verification. Relational program logics are an instance of this approach that enables reasoning about relationships between the execution of two or more programs.…

Programming Languages · Computer Science 2022-09-09 Robert Dickerson , Qianchuan Ye , Michael K. Zhang , Benjamin Delaware

The Curry-Howard correspondence is about a relationship between types and programs on the one hand and propositions and proofs on the other. The implications for programming language design and program verification is an active field of…

Programming Languages · Computer Science 2015-09-15 Jørgen Steensgaard-Madsen

In this tool demonstration, we give an overview of the Chameleon type debugger. The type debugger's primary use is to identify locations within a source program which are involved in a type error. By further examining these (potentially)…

Programming Languages · Computer Science 2007-05-23 Peter J. Stuckey , Martin Sulzmann , Jeremy Wazny

We propose a general framework to allow: (a) specifying the operational semantics of a programming language; and (b) stating and proving properties about program correctness. Our framework is based on a many-sorted system of hybrid modal…

Logic in Computer Science · Computer Science 2025-12-01 Ioana Leustean , Natalia Moanga , Traian Florin Serbanuta

Manually ensuring that the implementation of a software system is consistent with the software architecture is a laborious and error-prone task. Thus, a variety of approaches towards automated consistency checking have been developed to…

Software Engineering · Computer Science 2015-10-30 Timo Greifenberg , Klaus Müller , Bernhard Rumpe

Verifying software correctness has always been an important and complicated task. Recently, formal proofs of critical properties of algorithms and even implementations are becoming practical. Currently, the most powerful automated proof…

Logic in Computer Science · Computer Science 2019-04-10 Michael Raskin , Christoph Welzel

Ensuring the consistent usage of formatting conventions is an important aspect of modern software quality assurance. While formatting convention violations can be automatically detected by format checkers implemented in linters, there is no…

Software Engineering · Computer Science 2022-08-22 Benjamin Loriot , Fernanda Madeiral , Martin Monperrus