English
Related papers

Related papers: Verified type checker for Jolie programming langua…

200 papers

Recent advances in Large Language Model (LLM) based Generative AI techniques have made it feasible to translate enterpriselevel code from legacy languages such as COBOL to modern languages such as Java or Python. While the results of…

Researchers have recently designed a number of application-specific fault tolerance mechanisms that enable applications to either be naturally resilient to errors or include additional detection and correction steps that can bring the…

Programming Languages · Computer Science 2018-05-17 Brett Boston , Zoe Gong , Michael Carbin

TLA+ is a formal language for specifying systems, including distributed algorithms, that is supported by powerful verification tools. In this work we present a framework for relating traces of distributed programs to high-level…

Programming Languages · Computer Science 2024-09-18 Horatiu Cirstea , Markus A. Kuppe , Benjamin Loillier , Stephan Merz

Reo is a formal coordination language. In order to assess and evaluate its capabilities, we need a multi-perspective Language Evaluation Framework. Langar (Language Analysis for Reo) is a framework aimed to provide such an evaluation…

Software Engineering · Computer Science 2021-03-09 Mohammad Reza Besharati , Mohammad Izadi

Refinement types are a popular way to specify and reason about key program properties. In this paper, we introduce RTR, a new system that adds refinement types to Ruby. RTR is built on top of RDL, a Ruby type checker that provides basic…

Programming Languages · Computer Science 2017-11-28 Milod Kazerounian , Niki Vazou , Austin Bourgerie , Jeffrey S. Foster , Emina Torlak

This paper contains examples for a companion paper "The Prolog Debugger and Declarative Programming", which discusses (in)adequacy of the Prolog debugger for declarative programming. Logic programming is a declarative programming paradigm.…

Programming Languages · Computer Science 2020-04-07 Włodzimierz Drabent

Formal verification of complex algorithms is challenging. Verifying their implementations goes beyond the state of the art of current automatic verification tools and usually involves intricate mathematical theorems. Certifying algorithms…

Logic in Computer Science · Computer Science 2013-02-01 Eyad Alkassar , Sascha Böhme , Kurt Mehlhorn , Christine Rizkallah

Formal software verification uses mathematical techniques to establish that software has certain properties. For example, that the behaviour of a software system satisfies certain logically-specified properties. Formal methods have a long…

Software Engineering · Computer Science 2019-03-12 Michael Winikoff

Large language Models (LLMs) have shown remarkable proficiency in code generation tasks across various programming languages. However, their outputs often contain subtle but critical vulnerabilities, posing significant risks when deployed…

Computation and Language · Computer Science 2025-10-14 Alexander Sternfeld , Andrei Kucharavy , Ljiljana Dolamic

Gradual verification soundly combines static checking and dynamic checking to provide an incremental approach for software verification. With gradual verification, programs can be partially specified first, and then the full specification…

Programming Languages · Computer Science 2025-12-01 Doruk Alp Mutlu

Dependent types offer great versatility and power, but developing proofs with them can be tedious and requires considerable human guidance. We propose to integrate Satisfiability Modulo Theories (SMT)-based refinement types into the…

Programming Languages · Computer Science 2021-10-13 Gan Shen , Lindsey Kuper

jq is a widely used tool that provides a programming language to manipulate JSON data. However, the jq language is currently only specified by its implementation, making it difficult to reason about its behaviour. To this end, we provide a…

Logic in Computer Science · Computer Science 2024-04-01 Michael Färber

Proponents of software verification have argued that simpler code is easier to verify: that is, that verification tools issue fewer false positives and require less human intervention when analyzing simpler code. We empirically validate…

Software Engineering · Computer Science 2023-11-01 Kobi Feldman , Martin Kellogg , Oscar Chaparro

Dependently typed programming languages have become increasingly relevant in recent years. They have been adopted in industrial strength programming languages and have been extremely successful as the basis for theorem provers. There are…

Programming Languages · Computer Science 2024-04-09 Christophe Scholliers

Functional languages with strong static type systems have beneficial properties to help ensure program correctness and reliability. Surprisingly, their practical significance in applications is low relative to other languages lacking in…

Programming Languages · Computer Science 2016-12-05 Johannes Emerich

Dependently-typed proof assistants furnish expressive foundations for mechanised mathematics and verified software. However, automation for these systems has been either modest in scope or complex in implementation. We aim to improve the…

Logic in Computer Science · Computer Science 2026-02-24 Artjoms Šinkarovs , Michael Rawson

Automated program verifiers are typically implemented using an intermediate verification language (IVL), such as Boogie or Why3. A verifier front-end translates the input program and specification into an IVL program, while the back-end…

Programming Languages · Computer Science 2024-05-13 Gaurav Parthasarathy , Thibault Dardinier , Benjamin Bonneau , Peter Müller , Alexander J. Summers

This paper presents a grammar and style checker demonstrator for Spanish and Greek native writers developed within the project GramCheck. Besides a brief grammar error typology for Spanish, a linguistically motivated approach to detection…

cmp-lg · Computer Science 2016-08-15 Flora Ramírez Bustamante , Fernando Sánchez León

Some approaches to increasing program reliability involve a disciplined use of programming languages so as to minimise the hazards introduced by error-prone features. This is realised by writing code that is constrained to a subset of the a…

Programming Languages · Computer Science 2007-11-06 Guillem Marpons-Ucero , Julio Mariño , Ángel Herranz , Lars-Åke Fredlund , Manuel Carro , Juan José Moreno-Navarro

Development of formal proofs of correctness of programs can increase actual and perceived reliability and facilitate better understanding of program specifications and their underlying assumptions. Tools supporting such development have…

Logic in Computer Science · Computer Science 2020-03-17 Talia Ringer , Karl Palmskog , Ilya Sergey , Milos Gligoric , Zachary Tatlock