
Explore gradual typing and verification techniques in programming languages with Ronald Garcia's preview of the POPL'24 session.

Explore sound gradual verification using symbolic execution techniques. Learn about optimized run-time check generation and its implementation in verification tools.

Explore a novel dynamic algorithm for bidirected Dyck reachability, optimizing on-the-fly static analysis with superior performance and efficiency for continuous code updates.

Explore unboxed data constructors in ML languages, enhancing efficiency without compromising safety. Learn static analysis techniques and their implementation in OCaml, including termination detection algorithms.

Explore Wasm-prechk, a WebAssembly extension using indexed types for enhanced static safety. Learn about performance gains, type safety proofs, and implementation trade-offs in this innovative approach.

Explore Flan, a Datalog compiler embedded in Scala that combines expressiveness and performance for program analysis, offering powerful extensions and specialized code generation.

Explore type-preserving compilation for algebraic effect handlers, focusing on safety in continuation capture and resumption using stack polymorphism in an Agda-implemented compiler.

Explore Fluid, a transparent programming language with bidirectional dynamic dependency analysis, enabling interactive exploration of data relationships in research outputs.

Explore a new derivative-based theory and algorithm for nonbacktracking regex matching, supporting anchors and counting while preserving backtracking semantics. Implemented in .NET7 with formal proof of correctness.

Explore a formal operational model for fused execution of contraction languages, covering sparse tensor and relational algebra. Learn about indexed streams and their compiler implementation.

Explore advanced compiler testing techniques for loop optimizations in C++ and data-parallel languages. Learn about YARPGen's reimplementation, static undefined behavior avoidance, and loop code diversity mechanisms.

Explore Slice, a domain-specific language for fair division protocols. Learn how it converts programs to logical formulas, enabling automated verification of envy-freeness in resource allocation scenarios.

Explore robust and modular verification of WebAssembly programs using Iris-Wasm, a mechanized higher-order separation logic for specifying and verifying individual modules with strong isolation guarantees.

Explore a novel method for synthesizing and repairing regular expressions for extraction, addressing challenges with real-world extensions and deterministic behavior of regex engines.

Explore novel coverage criteria for generating high-quality conformance tests in programming language implementations, focusing on feature-sensitive and feature-call-path-sensitive approaches.

Explore an innovative approach to improve CFL-reachability scalability through graph folding, reducing input size and enhancing performance in program analysis applications like alias and value-flow analysis.

Explore Flux, a refined type system for Rust that enhances verification of low-level pointer programs. Learn how it combines logical refinements with Rust's ownership mechanisms for efficient and ergonomic type-based verification.

Explore Taype, a novel language for secure multiparty computation that decouples security policies from program logic. Learn about oblivious algebraic data types and tape semantics for flexible, policy-agnostic development.

Explore a verified monadic interpreter for WebAssembly, its adoption as a fuzzing oracle, and its performance compared to other interpreters and oracles.

Explore a sound symbolic quantitative information flow analysis for bounding information leakage in programs using approximate model counting and symbolic execution.

Explore a novel type-based verification method for validating coverage in test input generators, enhancing property-based testing with underapproximate reasoning and refinement types.