3,737 research outputs found
A Mechanized Theory of the Box Calculus
The capture calculus is an extension of System F<: that tracks free variables
of terms in their type, allowing one to represent capabilities while limiting
their scope. While previous calculi had mechanized soundness proofs -- notably
System CF<: -- the latest version, namely the box calculus (System CC<:box),
only had a paper proof. We present here our work on mechanizing the theory of
the box calculus in Coq, and the challenges encountered along the way. While
doing so, we motivate the current design of capture calculus, in particular the
concept of boxes, from both user and metatheoretical standpoints. Our
mechanization is complete and available on GitHub.Comment: Proceedings of the 9th International Workshop on Aliasing,
Confinement and Ownership (IWACO '23). ACM, New York, NY, USA, 8 page
Expression-based aliasing for OO-languages
Alias analysis has been an interesting research topic in verification and
optimization of programs. The undecidability of determining whether two
expressions in a program may reference to the same object is the main source of
the challenges raised in alias analysis. In this paper we propose an extension
of a previously introduced alias calculus based on program expressions, to the
setting of unbounded program executions s.a. infinite loops and recursive
calls. Moreover, we devise a corresponding executable specification in the
K-framework. An important property of our extension is that, in a
non-concurrent setting, the corresponding alias expressions can be
over-approximated in terms of a notion of regular expressions. This further
enables us to show that the associated K-machinery implements an algorithm that
always stops and provides a sound over-approximation of the "may aliasing"
information, where soundness stands for the lack of false negatives. As a case
study, we analyze the integration and further applications of the alias
calculus in SCOOP. The latter is an object-oriented programming model for
concurrency, recently formalized in Maude; K-definitions can be compiled into
Maude for execution
A Deep Cascade of Convolutional Neural Networks for MR Image Reconstruction
The acquisition of Magnetic Resonance Imaging (MRI) is inherently slow.
Inspired by recent advances in deep learning, we propose a framework for
reconstructing MR images from undersampled data using a deep cascade of
convolutional neural networks to accelerate the data acquisition process. We
show that for Cartesian undersampling of 2D cardiac MR images, the proposed
method outperforms the state-of-the-art compressed sensing approaches, such as
dictionary learning-based MRI (DLMRI) reconstruction, in terms of
reconstruction error, perceptual quality and reconstruction speed for both
3-fold and 6-fold undersampling. Compared to DLMRI, the error produced by the
method proposed is approximately twice as small, allowing to preserve
anatomical structures more faithfully. Using our method, each image can be
reconstructed in 23 ms, which is fast enough to enable real-time applications
A Polynomial Spectral Calculus for Analysis of DG Spectral Element Methods
We introduce a polynomial spectral calculus that follows from the summation
by parts property of the Legendre-Gauss-Lobatto quadrature. We use the calculus
to simplify the analysis of two multidimensional discontinuous Galerkin
spectral element approximations
Reducing the Number of Annotations in a Verification-oriented Imperative Language
Automated software verification is a very active field of research which has
made enormous progress both in theoretical and practical aspects. Recently, an
important amount of research effort has been put into applying these techniques
on top of mainstream programming languages. These languages typically provide
powerful features such as reflection, aliasing and polymorphism which are handy
for practitioners but, in contrast, make verification a real challenge. In this
work we present Pest, a simple experimental, while-style, multiprocedural,
imperative programming language which was conceived with verifiability as one
of its main goals. This language forces developers to concurrently think about
both the statements needed to implement an algorithm and the assertions
required to prove its correctness. In order to aid programmers, we propose
several techniques to reduce the number and complexity of annotations required
to successfully verify their programs. In particular, we show that high-level
iteration constructs may alleviate the need for providing complex loop
annotations.Comment: 15 pages, 8 figure
The exponentially convergent trapezoidal rule
It is well known that the trapezoidal rule converges geometrically when applied to analytic functions on periodic intervals or the real line. The mathematics and history of this phenomenon are reviewed and it is shown that far from being a curiosity, it is linked with computational methods all across scientific computing, including algorithms related to inverse Laplace transforms, special functions, complex analysis, rational approximation, integral equations, and the computation of functions and eigenvalues of matrices and operators
- …