QED at large: A survey of engineering of formally verified software
Abstract Development of formal proofs of correctness of programs can increase actual and
perceived reliability and facilitate better understanding of program specifications and their …
perceived reliability and facilitate better understanding of program specifications and their …
[كتاب][B] Proof Repair
T Ringer - 2021 - search.proquest.com
The days of verifying only toy programs are long gone. The last two decades have marked a
new era of verification at scale, bringing strong guarantees to large and critical systems—an …
new era of verification at scale, bringing strong guarantees to large and critical systems—an …
A language designer's workbench: a one-stop-shop for implementation and verification of language designs
The realization of a language design requires multiple artifacts that redundantly encode the
same information. This entails significant effort for language implementors, and often results …
same information. This entails significant effort for language implementors, and often results …
Extensible metatheory mechanization via family polymorphism
With the growing practice of mechanizing language metatheories, it has become ever more
pressing that interactive theorem provers make it easy to write reusable, extensible code …
pressing that interactive theorem provers make it easy to write reusable, extensible code …
Adapting proof automation to adapt proofs
We extend proof automation in an interactive theorem prover to analyze changes in
specifications and proofs. Our approach leverages the history of changes to specifications …
specifications and proofs. Our approach leverages the history of changes to specifications …
Reusable components of semantic specifications
Semantic specifications of programming languages typically have poor modularity. This
hinders reuse of parts of the semantics of one language when specifying a different …
hinders reuse of parts of the semantics of one language when specifying a different …
A hierarchy of monadic effects for program verification using equational reasoning
One can perform equational reasoning about computational effects with a purely functional
programming language thanks to monads. Even though equational reasoning for effectful …
programming language thanks to monads. Even though equational reasoning for effectful …
Abstract Interpreters: A Monadic Approach to Modular Verification
We argue that monadic interpreters built as layers of interpretations stacked atop the free
monad constitute a promising way to implement and verify abstract interpreters in …
monad constitute a promising way to implement and verify abstract interpreters in …
Gradual type-and-effect systems
Effect systems have the potential to help software developers, but their practical adoption
has been very limited. We conjecture that this limited adoption is due in part to the difficulty …
has been very limited. We conjecture that this limited adoption is due in part to the difficulty …
Coq à la carte: a practical approach to modular syntax with binders
The mechanisation of the meta-theory of programming languages is still considered hard
and requires considerable effort. When formalising properties of the extension of a …
and requires considerable effort. When formalising properties of the extension of a …