English
Related papers

Related papers: Building a refinement checker for Z

200 papers

Jolie is the first language for microservices and it is currently dynamically type checked. This paper considers the opportunity to integrate dynamic and static type checking with the introduction of refinement types, verified via SMT…

Software Engineering · Computer Science 2016-02-23 Alexander Tchitchigin , Larisa Safina , Manuel Mazzara , Mohamed Elwakil , Fabrizio Montesi , Victor Rivera

When optimizing a thread in a concurrent program (either done manually or by the compiler), it must be guaranteed that the resulting thread is a refinement of the original thread. Most theories of valid optimizations are formulated in terms…

Programming Languages · Computer Science 2015-10-27 Daniel Poetzl , Daniel Kroening

In the language-theoretic approach to refinement verification, we check that the language of traces of an implementation all belong to the language of a specification. We consider the refinement verification problem for asynchronous…

Formal Languages and Automata Theory · Computer Science 2023-06-23 Pascal Baumann , Moses Ganardi , Rupak Majumdar , Ramanathan S. Thinniyam , Georg Zetzsche

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2023-11-27 Aurel Bílý , João C. Pereira , Jan Schär , Peter Müller

Refinement is one of the cornerstones of a formal approach to software engineering. Refinement is the process of developing a more detailed design or implementation from an abstract specification through a sequence of mathematically-based…

Logic in Computer Science · Computer Science 2018-10-23 John Derrick , Brijesh Dongol , Steve Reeves

Language models (LMs) have recently shown remarkable performance on reasoning tasks by explicitly generating intermediate inferences, e.g., chain-of-thought prompting. However, these intermediate inference steps may be inappropriate…

Computation and Language · Computer Science 2024-02-06 Debjit Paul , Mete Ismayilzada , Maxime Peyrard , Beatriz Borges , Antoine Bosselut , Robert West , Boi Faltings

Refinement types sharpen systems of simple and dependent types by offering expressive means to more precisely classify well-typed terms. We present a system of refinement types for LF in the style of recent formulations where only canonical…

Programming Languages · Computer Science 2015-07-01 William Lovas , Frank Pfenning

We develop an extension of the proof environment Beluga with datasort refinement types and study its impact on mechanized proofs. In particular, we introduce refinement schemas, which provide fine-grained classification for the structures…

Programming Languages · Computer Science 2023-11-20 Antoine Gaulin , Brigitte Pientka

We describe a novel approach for adapting an existing software model checker to perform precise runtime verification. The software under test is allowed to communicate with the wider environment (including the file system and network). The…

Software Engineering · Computer Science 2018-06-01 Katarína Kejstová , Petr Ročkai , Jiří Barnat

Mutation analysis is an effective technique to evaluate a test suite adequacy in terms of revealing unforeseen bugs in software. Traditional source- or IR-level mutation analysis is not applicable to the software only available in binary…

Software Engineering · Computer Science 2021-02-16 Mohsen Ahmadi , Pantea Kiaei , Navid Emamdoost

Our scientific knowledge is increasingly built on software output. User code which defines data analysis pipelines and computational models is essential for research in the natural and social sciences, but little is known about how to…

Software Engineering · Computer Science 2020-03-16 Maxwell Shinn

Rewriting logic and its implementation Maude are an expressive framework for the formal specification and verification of software and other kinds of systems. Concurrency is naturally represented by nondeterministic local transformations…

Logic in Computer Science · Computer Science 2024-01-17 Rubén Rubio , Narciso Martí-Oliet , Isabel Pita , Alberto Verdejo

We analyze transformers from the perspective of iterative inference, seeking to understand how model predictions are refined layer by layer. To do so, we train an affine probe for each block in a frozen pretrained model, making it possible…

Machine Learning · Computer Science 2025-11-12 Nora Belrose , Igor Ostrovsky , Lev McKinney , Zach Furman , Logan Smith , Danny Halawi , Stella Biderman , Jacob Steinhardt

Large Language Models (LLMs) have achieved impressive results in Machine Translation (MT). However, careful evaluations by human reveal that the translations produced by LLMs still contain multiple errors. Importantly, feeding back such…

Computation and Language · Computer Science 2024-06-24 Zhaopeng Feng , Yan Zhang , Hao Li , Bei Wu , Jiayu Liao , Wenqiang Liu , Jun Lang , Yang Feng , Jian Wu , Zuozhu Liu

The refinement calculus provides a methodology for transforming an abstract specification into a concrete implementation, by following a succession of refinement rules. These rules have been mechanized in theorem-provers, thus providing a…

Software Engineering · Computer Science 2011-12-02 Andreas Griesmayer , Zhiming Liu , Charles Morisset , Shuling Wang

Toman et al. have proposed a type system for automatic verification of low-level programs, which combines ownership types and refinement types to enable strong updates of refinement types in the presence of pointer aliases. We extend their…

Programming Languages · Computer Science 2023-12-12 Izumi Tanaka , Ken Sakayori , Naoki Kobayashi

We study the generalization abilities of language models when translating natural language into formal specifications with complex semantics. In particular, we fine-tune language models on three datasets consisting of English sentences and…

Software Engineering · Computer Science 2022-10-21 Christopher Hahn , Frederik Schmitt , Julia J. Tillman , Niklas Metzger , Julian Siber , Bernd Finkbeiner

Refinement calculus is a powerful and expressive tool for reasoning about sequential programs in a compositional manner. In this paper we present an extension of refinement calculus for reactive systems. Refinement calculus is based on…

Software Engineering · Computer Science 2014-06-24 Viorel Preoteasa , Stavros Tripakis

A large number of different model checking approaches has been proposed during the last decade. The different approaches are applicable to different model types including untimed, timed, probabilistic and stochastic models. This paper…

Logic in Computer Science · Computer Science 2007-05-23 Peter Buchholz , Peter Kemper

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual…

Programming Languages · Computer Science 2017-05-29 James Cheney , Alberto Momigliano