1. What future works have the authors mentioned in the paper "Secure distributed programming with value-dependent types" ?
In the remainder of this section, the authors briefly review further work based on F ? in a variety of contexts, complementing the results in this paper.. Their methodology involves a liberal use of higher-order logic, but, when specifications are structured in their prescribed style, the resulting higher-order verification conditions can be normalized and encoded in a first-order theory, e. g., in the logic provided by an automated solver like Z3.. As such, programmers in F ? have several complementary ways of verifying effectful programs, e. g., the linear maps of §2 for state, the session types of §5 for IO, and, also monadic F ? which can be used to precisely model a range of monadic effects including exceptions, state, IO, reactivity, etc. Verifying JavaScript programs.. Using a new refinement of the type dyn ( §2. 1 ), they show how JavaScript programs translated to F ? ( via a standard translation provided by Guha et al. ( 2010 ) ) can be given precise specifications and verified in a modular manner using monadic F ? ’ s verification condition ( VC ) generator combined with its encoding of higher-order VCs in Z3.
read more
2. What are the contributions mentioned in the paper "Secure distributed programming with value-dependent types" ?
The authors present F ?, a full-fledged design and implementation of a new dependently typed language for secure distributed programming.. The authors prove type soundness ( with proofs mechanized in Coq ) and logical consistency for F ?.. The authors have programmed and verified nearly 50,000 lines of F ? including new schemes for multiparty sessions ; a zero-knowledge privacy-preserving payment protocol ; a provenance-aware curated database ; a suite of web-browser extensions verified for authorization properties ; a cloud-hosted multi-tier web application with a verified reference monitor ; the core F ? typechecker itself ; and programs translated to F ? from other languages such as F7 and JavaScript.
read more
3. What type of automaton can the authors use to define a role process?
Using affine types, the authors can define a type for a role process, type role0::E⇒ A , where the parameter of the role is a type describing an automaton.
read more
4. How can one verify a linear map program using standard provers?
Since the assertion logic remains classical, linear map programs can be automatically verified using standard provers and SMT solvers.
read more





