English
Related papers

Related papers: Refinement Reflection: Complete Verification with …

200 papers

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

Large language models (LLMs) are increasingly integrated into creative coding, yet how users reflect, and how different co-creation conditions influence reflective behavior, remains underexplored. This study investigates situated,…

Human-Computer Interaction · Computer Science 2025-07-15 Anqi Wang , Zhizhuo Yin , Yulu Hu , Yuanyuan Mao , Lei Han , Xin Tong , Keqin Jiao , Pan Hui

Simulink/Stateflow charts are widely used in industry for the specification of control systems, which are often safety-critical. This suggests a need for a formal treatment of such models. In previous work, we have proposed a technique for…

Logic in Computer Science · Computer Science 2011-06-22 Alvaro Miyazawa , Ana Cavalcanti

Many challenging reasoning tasks require not just rapid, intuitive responses, but a more deliberate, multi-step approach. Recent progress in large language models (LLMs) highlights an important shift from the "System 1" way of quick…

Computation and Language · Computer Science 2025-06-03 Guizhen Chen , Weiwen Xu , Hao Zhang , Hou Pong Chan , Chaoqun Liu , Lidong Bing , Deli Zhao , Anh Tuan Luu , Yu Rong

Ability to use definitions occurring in the code directly in equational reasoning is one of the key strengths of functional programming. This is impossible in the case of Haskell type class methods unless a particular instance type is…

Programming Languages · Computer Science 2020-07-02 Härmel Nestra

In this paper, we prove correctness of parallelizing a string matcher using Haskell as a theorem prover. We use refinement types to specify correctness properties, Haskell terms to express proofs and Liquid Haskell to check correctness of…

Programming Languages · Computer Science 2016-10-25 Niki Vazou , Jeff Polakow

Recent years have seen tremendous growth in the amount of verified software. Proofs for complex properties can now be achieved using higher-order theories and calculi. Complex properties lead to an ever-growing number of definitions and…

Programming Languages · Computer Science 2021-11-29 Eytan Singher , Shachar Itzhaky

This article describes the *Confluence Framework*, a novel framework for proving and disproving confluence using a divide-and-conquer modular strategy, and its implementation in CONFident. Using this approach, we are able to automatically…

Logic in Computer Science · Computer Science 2026-04-08 Raúl Gutiérrez , Salvador Lucas , Miguel Vítores

Writing accurate numerical software is hard because of many sources of unavoidable uncertainties, including finite numerical precision of implementations. We present a programming model where the user writes a program in a real-valued…

Programming Languages · Computer Science 2013-09-11 Eva Darulova , Viktor Kuncak

Algorithmic reasoning refers to the ability to understand the complex patterns behind the problem and decompose them into a sequence of reasoning steps towards the solution. Such nature of algorithmic reasoning makes it a challenge for…

Security in code generation remains a pivotal challenge when applying large language models (LLMs). This paper introduces RefleXGen, an innovative method that significantly enhances code security by integrating Retrieval-Augmented…

Software Engineering · Computer Science 2025-10-29 Bin Wang , Hui Li , AoFan Liu , BoTao Yang , Ao Yang , YiLu Zhong , Weixiang Huang , Yanping Zhang , Runhuai Huang , Weimin Zeng

It has been observed that linearizability, the prevalent consistency condition for implementing concurrent objects, does not preserve some probability distributions. A stronger condition, called strong linearizability has been proposed, but…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-30 Hagit Attiya , Constantin Enea

Many automatic theorem-provers rely on rewriting. Using theorems as rewrite rules helps to simplify the subgoals that arise during a proof. LCF is an interactive theorem-prover intended for reasoning about computation. Its implementation of…

Logic in Computer Science · Computer Science 2016-08-31 Lawrence C. Paulson

Large language models (LLMs) increasingly solve complex reasoning tasks via long chain-of-thought, but their forward-only autoregressive generation process is fragile; early token errors can cascade, which creates a clear need for…

Computation and Language · Computer Science 2025-10-06 Jian Mu , Qixin Zhang , Zhiyong Wang , Menglin Yang , Shuang Qiu , Chengwei Qin , Zhongxiang Dai , Yao Shu

Relational verification encompasses information flow security, regression verification, translation validation for compilers, and more. Effective alignment of the programs and computations to be related facilitates use of simpler relational…

Logic in Computer Science · Computer Science 2023-03-27 Timos Antonopoulos , Eric Koskinen , Ton Chanh Le , Ramana Nagasamudram , David A. Naumann , Minh Ngo

Deductive verification of concurrent programs under weak memory has thus far been limited to simple programs over a monolithic state space. For scalability, we also require modular techniques with verifiable library abstractions. This paper…

Logic in Computer Science · Computer Science 2021-08-21 Sadegh Dalvandi , Brijesh Dongol

This paper presents the methodology for the system requirements and architecture w.r.t. their decomposition and refinement. It also introduces ideas of refinement layers and of refinement-based verification.

Software Engineering · Computer Science 2014-04-30 Maria Spichkova

The majority of modern systems exhibit sophisticated concurrent behaviour, where several system components modify and observe the system state with fine-grained atomicity. Many systems (e.g., multi-core processors, real-time controllers)…

Logic in Computer Science · Computer Science 2013-05-28 Brijesh Dongol , John Derrick

Designing correct replicated data types (RDTs) is challenging because replicas evolve independently and must be merged while preserving application intent. A promising approach is correct-by-construction development in a proof-oriented…

Programming Languages · Computer Science 2026-03-31 Pranav Ramesh , Vimala Soundarapandian , KC Sivaramakrishnan

The use of function contracts to specify the behavior of functions often remains limited to the scope of a single function call. Relational properties link several function calls together within a single specification. They can express more…

Software Engineering · Computer Science 2022-05-18 Lionel Blatter , Nikolai Kosmatov , Virgile Prevosto , Pascale Le Gall