English
Related papers

Related papers: Proceedings 18th Refinement Workshop

200 papers

Widely used complex code refactoring tools lack a solid reasoning about the correctness of the transformations they implement, whilst interest in proven correct refactoring is ever increasing as only formal verification can provide true…

Software Engineering · Computer Science 2017-08-25 Dániel Horpácsi , Judit Kőszegi , Zoltán Horváth

We introduce skipping refinement, a new notion of correctness for reasoning about optimized reactive systems. Reasoning about reactive systems using refinement involves defining an abstract, high-level specification system and a concrete,…

Logic in Computer Science · Computer Science 2015-02-11 Mitesh Jain , Panagiotis Manolios

We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses…

Programming Languages · Computer Science 2019-07-16 Niki Vazou , Anish Tondwalkar , Vikraman Choudhury , Ryan G. Scott , Ryan R. Newton , Philip Wadler , Ranjit Jhala

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

The failure of hardware or software in a critical system can lead to loss of lives. The design errors can be main source of the failures that can be introduced during system development process. Formal techniques are an alternative approach…

Software Engineering · Computer Science 2014-07-04 Dominique Méry , Neeraj Kumar Singh

This paper aims at integrating heterogeneous documents used in pragmatic software develpoment methods to describe views with a formal refinement based software development process. Therefore we propose an integrated semantics of…

Software Engineering · Computer Science 2014-09-26 Jan Philipps , Bernhard Rumpe

This volume contains the proceedings of MARS 2017, the second workshop on Models for Formal Analysis of Real Systems, held on April 29, 2017 in Uppala, Sweden, as an affiliated workshop of ETAPS 2017, the European Joint Conferences on…

Logic in Computer Science · Computer Science 2017-03-20 Holger Hermanns , Peter Höfner

This volume contains the proceedings of MARS 2022, the fifth workshop on Models for Formal Analysis of Real Systems, held as part of ETAPS 2022, the European Joint Conferences on Theory and Practice of Software. The MARS workshops bring…

Logic in Computer Science · Computer Science 2022-03-18 Clemens Dubslaff , Bas Luttik

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

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

Code refactoring is a fundamental software engineering practice aimed at improving code quality and maintainability. Despite its importance, developers often neglect refactoring due to the significant time, effort, and resources it…

Iteratively improving and repairing source code with large language models (LLMs), known as refinement, has emerged as a popular way of generating programs that would be too complex to construct in one shot. Given a bank of test cases,…

Software Engineering · Computer Science 2024-10-31 Hao Tang , Keya Hu , Jin Peng Zhou , Sicheng Zhong , Wei-Long Zheng , Xujie Si , Kevin Ellis

Early stages of system development involve outlining desired features such as functionality, availability, or usability. Specifications are derived from these features that concretize vague ideas presented in natural languages. The…

Software Engineering · Computer Science 2014-10-09 Rongjie Yan , Chih-Hong Cheng , Guangquan Zhang , Yesheng Chai

Refinement is a fundamental technique in the verification and systematic development of computer programs. It supports a disciplined approach to software construction through stepwise refinement, whereby an abstract specification is…

Logic in Computer Science · Computer Science 2026-02-20 Yuan Feng , Li Zhou

The nature of software re-engineering is to improve or transform existing software so it can be understood, controlled and reused as new software. Needs, the necessity of re-engineering software has greatly increased. The system software…

Software Engineering · Computer Science 2011-12-20 Phuc V. Nguyen

Event-B provides a flexible framework for stepwise system development via refinement. The framework supports steps for (a) refining events (one-by-one), (b) splitting events (one-by-many), and (c) introducing new events. In each of the…

Logic in Computer Science · Computer Science 2011-06-22 Steve Schneider , Helen Treharne , Heike Wehrheim

In software engineering, the concept of a ``feature'' is widely used but inconsistently defined across disciplines such as requirements engineering (RE) and software product lines (SPL). This lack of consistency often results in…

Software Engineering · Computer Science 2025-02-17 Nitish Patkar , Aimen Fahmi , Timo Kehrer , Norbert Seyff

Formal software specification is known to enable early error detection and explicit invariants, yet it has seen limited industrial adoption due to its high notation overhead and the expertise required to use traditional formal languages.…

Software Engineering · Computer Science 2026-01-16 Antonio Abu Nassar , Eitan Farchi

Meeting summarization has become a critical task since digital encounters have become a common practice. Large language models (LLMs) show great potential in summarization, offering enhanced coherence and context understanding compared to…

Computation and Language · Computer Science 2025-02-19 Frederic Kirstein , Terry Ruas , Bela Gipp

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama