Learn More
Lack of tau expression has been reported to protect against excitotoxicity and to prevent memory deficits in mice expressing mutant amyloid precursor protein (APP) identified in familial Alzheimer disease. In APP mice, mutant presenilin 1 (PS1) enhances generation of Aβ42 and inhibits cell survival pathways. It is unknown whether the deficient phenotype(More)
This paper reports on the design and soundness proof, using the Coq proof assistant, of Verasco, a static analyzer based on abstract interpretation for most of the ISO C 1999 language (excluding recursion and dynamic allocation). Verasco establishes the absence of run-time errors in the analyzed programs. It enjoys a modular architecture that supports the(More)
Neurofibrillary degeneration in transgenic models of tauopathies has been observed to be enhanced when these models are crossed with transgenic models developing an Aβ pathology. The mechanisms leading to this enhanced tau pathology are not well understood. We have performed a detailed analysis of tau misprocessing in a new transgenic mouse model combining(More)
Tau alterations are now considered an executor of neuronal demise and cognitive dysfunction in Alzheimer's disease (AD). Mouse models combining amyloidosis and tauopathy and their parental counterparts are important tools to further investigate the interplay of abnormal amyloid-β (Aβ) and Tau species in pathogenesis, synaptic and neuronal dysfunction, and(More)
Static analyzers based on abstract interpretation are complex pieces of software implementing delicate algorithms. Even if static analysis techniques are well understood, their implementation on real languages is still error-prone. This paper presents a formal verification using the Coq proof assistant: a formalization of a value analysis (based on abstract(More)
Recent advances in verification have made it possible to envision trusted implementations of real-world languages. Java with its type-safety and fully specified semantics would appear to be an ideal candidate; yet, the complexity of the translation steps used in production virtual machines have made it a challenging target for verifying compiler technology.(More)
We consider a mild extension of universal algebra in which terms are built both from deterministic and probabilistic variables, and are interpreted as distributions. We formulate an equational proof system to establish equality between probabilistic terms, show its soundness, and provide heuristics for proving the validity of equations. Moreover, we provide(More)
We consider the <i>verified compilation</i> of high-level managed languages like Java or C# whose intermediate representations provide support for shared-memory synchronization and automatic memory management. In this environment, the interactions between application threads and the language runtime (<i>e.g.</i>, the garbage collector) are regulated by(More)
Static analysis of binary code is challenging for several reasons. In particular, standard static analysis techniques operate over control-flow graphs, which are not available when dealing with self-modifying programs which can modify their own code at runtime. We formalize in the Coq proof assistant some key abstract interpretation techniques that(More)
In cryptology, verifiable computing aims at verifying the remote execution of a program on an untrusted machine, based on its I/O and constant-sized evidence collected during its execution. Recent cryptographic schemes and compilers enable practical verifiable computations for some programs written in C, but their soundness with regards to C semantics(More)