Skip to content
@liquid-java

LiquidJava

Refinement types and typestate verification for Java

LiquidJava - Extending Java with Liquid Types

Catch bugs before runtime with compile-time verification

LiquidJava Banner

Welcome to LiquidJava!

LiquidJava adds refinement types and typestates to Java through annotations, enabling static verification that catches errors traditional type systems miss.

Quick Example

@Refinement("a > 0")
int a = 3; // ✓ verified safe
a = -8; // ✗ compile error

Key Features

  • Refinement types - Express constraints beyond basic types
  • Typestate verification - Track object state transitions
  • SMT-backed - Powered by Z3 solver
  • IDE integration - Real-time feedback in VS Code
  • Lightweight - Annotation-based, works with existing Java code

Resources

📦 VS Code Extension
📚 Tutorial
💡 Examples
📖 Research Paper (ICSE 2023)

Learn more in the LiquidJava website.

Pinned Loading

  1. liquidjava liquidjava Public

    Refinement type checker for Java with liquid types and typestates - catch bugs at compile time

    Java 52 33

  2. vscode-liquidjava vscode-liquidjava Public

    VS Code extension for LiquidJava - real-time refinement type checking with LSP integration

    TypeScript 6 1

  3. liquidjava-tutorial liquidjava-tutorial Public

    Tutorial Guide for LiquidJava

    Java 2

Repositories

Showing 10 of 10 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…