Research Topics and Thesis Projects

ARIA offers many research directions across automated reasoning, verification, and solver engineering.

Core algorithm development

Parallel CDCL(T) solving (aria/smt/pcdclt)

Develop parallel algorithms for clause learning with theory reasoning.

Optimization modulo theory (aria/pyomt)

Extend OMT algorithms over bit-vectors, arithmetic, and mixed settings.

Advanced model counting (aria/counting)

Improve counting algorithms for Boolean, arithmetic, and QF_BV formulas.

Symbolic abstraction (aria/symabs)

Develop abstraction techniques for infinite-state systems and verification.

Theory-specific solving

Finite-field SMT (aria/smt/ff)

Build decision procedures for Galois-field constraints.

Floating-point arithmetic (aria/smt/fp)

Develop efficient IEEE-754 solving and optimization workflows.

AI-enhanced reasoning

Machine learning for solvers (aria/ml)

Learn solver selection, feature extraction, and tactic guidance.

Automata learning (aria/automata)

Apply learning-based techniques to string solving and verification.

Advanced sampling and enumeration

Uniform sampling (aria/sampling)

Design diverse solution-sampling strategies over rich SMT theories.

AllSMT algorithms (aria/allsmt)

Improve exhaustive model enumeration and projection workflows.

Quantifier handling

Quantifier elimination (aria/quant/qe)

Study QE procedures for arithmetic and related theories.

E-matching optimization (aria/ml/llm/ematching)

Improve trigger selection and quantifier instantiation heuristics.

CHC solving (aria/quant/chctools)

Scale constrained Horn clause solving for verification and synthesis.

Applications and tools

Interactive theorem proving (aria/itp)

Build proof tools across multiple theories.

Program synthesis (aria/synthesis)

Explore SyGuS and related synthesis workflows.

Abductive reasoning (aria/abduction)

Develop explanation and hypothesis-generation algorithms.

Getting started

Start with the package README files under aria/ and the section pages in this documentation tree, then drill down into the subsystem that matches your interests.