What's in a Proof? Analyzing Expert Proof-Writing Processes in F* and Verus

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Jain, Rijul, Barke, Shraddha, Ebner, Gabriel, Misu, Md Rakib Hossain, Lu, Shan, Fakhoury, Sarah
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866911091613761536
author Jain, Rijul
Barke, Shraddha
Ebner, Gabriel
Misu, Md Rakib Hossain
Lu, Shan
Fakhoury, Sarah
author_facet Jain, Rijul
Barke, Shraddha
Ebner, Gabriel
Misu, Md Rakib Hossain
Lu, Shan
Fakhoury, Sarah
contents Proof-oriented programming languages (POPLs) empower developers to write code alongside formal correctness proofs, providing formal guarantees that the code adheres to specified requirements. Despite their powerful capabilities, POPLs present a steep learning curve and have not yet been adopted by the broader software community. The lack of understanding about the proof-development process and how expert proof developers interact with POPLs has hindered the advancement of effective proof engineering and the development of proof-synthesis models/tools. In this work, we conduct a user study, involving the collection and analysis of fine-grained source code telemetry from eight experts working with two languages, F* and Verus. Results reveal interesting trends and patterns about how experts reason about proofs and key challenges encountered during the proof development process. We identify three distinct strategies and multiple informal practices that are not captured final code snapshots, yet are predictive of task outcomes. We translate these findings into concrete design guidance for AI proof assistants: bias toward early specification drafting, explicit sub-goal decomposition, bounded active errors, and disciplined verifier interaction. We also present a case study of an F* proof agent grounded in these recommendations, and demonstrate improved performance over baseline LLMs
format Preprint
id arxiv_https___arxiv_org_abs_2508_02733
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle What's in a Proof? Analyzing Expert Proof-Writing Processes in F* and Verus
Jain, Rijul
Barke, Shraddha
Ebner, Gabriel
Misu, Md Rakib Hossain
Lu, Shan
Fakhoury, Sarah
Software Engineering
Human-Computer Interaction
Proof-oriented programming languages (POPLs) empower developers to write code alongside formal correctness proofs, providing formal guarantees that the code adheres to specified requirements. Despite their powerful capabilities, POPLs present a steep learning curve and have not yet been adopted by the broader software community. The lack of understanding about the proof-development process and how expert proof developers interact with POPLs has hindered the advancement of effective proof engineering and the development of proof-synthesis models/tools. In this work, we conduct a user study, involving the collection and analysis of fine-grained source code telemetry from eight experts working with two languages, F* and Verus. Results reveal interesting trends and patterns about how experts reason about proofs and key challenges encountered during the proof development process. We identify three distinct strategies and multiple informal practices that are not captured final code snapshots, yet are predictive of task outcomes. We translate these findings into concrete design guidance for AI proof assistants: bias toward early specification drafting, explicit sub-goal decomposition, bounded active errors, and disciplined verifier interaction. We also present a case study of an F* proof agent grounded in these recommendations, and demonstrate improved performance over baseline LLMs
title What's in a Proof? Analyzing Expert Proof-Writing Processes in F* and Verus
topic Software Engineering
Human-Computer Interaction
url https://arxiv.org/abs/2508.02733