
Explore the design and implementation of Salto, a static analyzer for OCaml programs using abstract interpretation to detect exceptions and undefined behaviors.

Explore Xsmith, a Racket library for efficient fuzz testing of programming languages. Learn to create conforming programs for differential testing with minimal code, finding bugs in various language implementations.

Explore live state-first debugging for web GUI apps, revealing state changes without logs or breakpoints. Learn about Unfold's timeline, code correlation, and auto-replay features.

Explore insights on dynamic languages from a seasoned researcher's perspective, covering successful strategies in research, advising, and project leadership.

Explore Witter, a library for white-box testing in programming education. Analyze method execution against reference solutions to verify algorithm behavior and provide insightful feedback.

Explore ProTI, an automated unit testing approach for Infrastructure as Code programs, enabling rapid prototyping and efficient bug detection in cloud resource configurations.

Explore Hazel, a groundbreaking live programming environment with error localization and recovery mechanisms, ensuring well-structured and meaningful code at every stage.

Explore Latte, a lightweight system for tracking aliasing and uniqueness in Java, minimizing annotations and complexity while supporting destructive reads and practical applications.

Explore under-approximation techniques for efficient bug detection in large codebases. Learn about Incorrectness Logic, ISL, and Pulse-X for scalable, compositional program analysis and memory safety error detection.

Explore asai, an OCaml library for enhancing compiler diagnostics in proof assistants, improving error messages for end users.

Explore unified compositional symbolic execution techniques for program analysis, enhancing software reliability and performance optimization.

Explore bi-directional reduced-product abstract interpretation for inductive program synthesis, focusing on example-based techniques and their application to bit-manipulation programs.

Explore quantum abstract interpretation for efficient verification of large-scale quantum programs, overcoming simulation limitations and enabling assertion checks for up to 300 qubits.

Explore program logics for correctness and incorrectness, comparing over- and under-approximation techniques. Analyze Sufficient Incorrectness Logic and its Separation Logic variant for dynamic heap management.

Explore Infer's incremental analysis infrastructure, addressing technical challenges and future developments for faster program analysis in large codebases.

Explore a novel data-flow analysis for Erlang, producing over-approximating dataflow graphs for efficient taint checking in large-scale codebases.

Explore refinement types for Rust with Flux, enhancing code safety and expressiveness in systems programming.

Explore a novel learning-based strategy for disjunctive static bug-finders, addressing challenges in state-selection heuristics and improving efficiency in real-world program analysis.

Explore a novel approach to strongly typing compiler passes, combining nanopasses and recursion schemes for efficient, type-safe compiler front-end development in Ada.

Explore mutation testing to enhance test suites and code quality. Learn its benefits, drawbacks, implementation, and tools for various languages. Gain insights to improve testing practices and code reliability.

Explore formal verification techniques for floating-point programs in functional languages, focusing on static analysis to ensure accuracy and meaningful results despite rounding errors.