K Framework
A rewriting-logic-based framework for defining the formal semantics of programming languages (Roșu et al., University of Illinois at Urbana-Champaign, 2003–). Language semantics written in K are simultaneously: (1) an executable interpreter, (2) a symbolic executor, (3) a target for model-checking, and (4) a target for deductive verification — all derived from a single specification.
K has been used to formalise C (KCC), Java, JavaScript, LLVM, Ethereum (see KEVM), and others. It realises what the formal-methods community calls “one semantics, many tools”: the same definition powers interpretation, verification, and analysis without re-implementation.