Type-Based Incorrectness Reasoning

📅 2025-09-01
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the lack of type-theoretic support for under-approximation reasoning in functional program verification. Methodologically, it pioneers the integration of incorrectness logic with refinement types and coverage types, yielding an extended instantiation type system that supports *necessity-guaranteeing* under-approximation reasoning. By encoding incorrectness assertions directly into the type system, the approach enables provable characterization of erroneous program behaviors and synergizes with property-based testing frameworks to jointly verify both the safety and completeness of test generators. The contributions are threefold: (1) it establishes the first formal theoretical bridge between incorrectness logic and typed systems; (2) it enhances the completeness and verifiability of test generation and static analysis for functional programs; and (3) it provides a novel, constructively definable foundation for under-approximation reasoning in program verification tools.

Technology Category

Application Category

📝 Abstract
A coverage type generalizes refinement types found in many functional languages with support for must-style underapproximate reasoning. Property-based testing frameworks are one particularly useful domain where such capabilities are useful as they allow us to verify the completeness, as well as safety, of test generators. There is a surprising connection between the kind of underapproximate reasoning coverage types offer and the style of reasoning enabled by recently proposed Incorrectness Logic frameworks. In our presentation, we propose to explore this connection more deeply, identifying mechanisms that more systematically integrate incorrectness reasoning within an expressive refinement type system and the opportunities that such integration offers to functional programmers, program verifiers, and program analyzers and related tools.
Problem

Research questions and friction points this paper is trying to address.

Develop coverage types for underapproximate must-style reasoning
Integrate incorrectness logic into refinement type systems
Enhance testing frameworks with completeness and safety verification
Innovation

Methods, ideas, or system contributions that make the work stand out.

Coverage types enabling underapproximate reasoning
Integrating incorrectness logic with refinement types
Systematic mechanisms for functional program verification
🔎 Similar Papers
No similar papers found.