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 67 36

  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 15 repositories
  • vscode-liquidjava Public

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

    liquid-java/vscode-liquidjava's past year of commit activity
    TypeScript 6 MIT 1 7 4 Updated Sep 25, 2026
  • liquidjava Public

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

    liquid-java/liquidjava's past year of commit activity
    Java 67 MIT 36 20 (3 issues need help) 9 Updated Sep 24, 2026
  • liquidjava-fsm Public

    LiquidJava state machine parser used by the VS Code language server and MCP server

    liquid-java/liquidjava-fsm's past year of commit activity
    Java 0 MIT 0 0 1 Updated Sep 24, 2026
  • liquidjava-mcp Public

    A Java MCP server that exposes LiquidJava verification tools to LLM agents over stdio

    liquid-java/liquidjava-mcp's past year of commit activity
    Java 1 MIT 0 0 0 Updated Sep 17, 2026
  • liquidjava-examples Public

    Code examples demonstrating LiquidJava refinement types and typestate verification

    liquid-java/liquidjava-examples's past year of commit activity
    Java 5 2 0 0 Updated Aug 21, 2026
  • study Public

    LiquidJava user study

    liquid-java/study's past year of commit activity
    Java 0 0 0 0 Updated Aug 21, 2026
  • liquidjava-docs Public

    LiquidJava Documentation

    liquid-java/liquidjava-docs's past year of commit activity
    SCSS 0 0 1 0 Updated Aug 21, 2026
  • liquidjava-interactive-tutorial Public

    Interactive Tutorial for LiquidJava

    liquid-java/liquidjava-interactive-tutorial's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Aug 11, 2026
  • liquid-java.github.io Public

    Organization webpage

    liquid-java/liquid-java.github.io's past year of commit activity
    CSS 0 1 0 2 Updated May 15, 2026
  • liquidjava-tutorial Public

    Tutorial Guide for LiquidJava

    liquid-java/liquidjava-tutorial's past year of commit activity
    Java 2 0 0 0 Updated Apr 11, 2026

People

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

Top languages

Loading…