12,983 research outputs found
Modular, Fully-abstract Compilation by Approximate Back-translation
A compiler is fully-abstract if the compilation from source language programs
to target language programs reflects and preserves behavioural equivalence.
Such compilers have important security benefits, as they limit the power of an
attacker interacting with the program in the target language to that of an
attacker interacting with the program in the source language. Proving compiler
full-abstraction is, however, rather complicated. A common proof technique is
based on the back-translation of target-level program contexts to
behaviourally-equivalent source-level contexts. However, constructing such a
back- translation is problematic when the source language is not strong enough
to embed an encoding of the target language. For instance, when compiling from
STLC to ULC, the lack of recursive types in the former prevents such a
back-translation.
We propose a general and elegant solution for this problem. The key insight
is that it suffices to construct an approximate back-translation. The
approximation is only accurate up to a certain number of steps and conservative
beyond that, in the sense that the context generated by the back-translation
may diverge when the original would not, but not vice versa. Based on this
insight, we describe a general technique for proving compiler full-abstraction
and demonstrate it on a compiler from STLC to ULC. The proof uses asymmetric
cross-language logical relations and makes innovative use of step-indexing to
express the relation between a context and its approximate back-translation.
The proof extends easily to common compiler patterns such as modular
compilation and it, to the best of our knowledge, it is the first compiler full
abstraction proof to have been fully mechanised in Coq. We believe this proof
technique can scale to challenging settings and enable simpler, more scalable
proofs of compiler full-abstraction
The preliminary SOL (Sizing and Optimization Language) reference manual
The Sizing and Optimization Language, SOL, a high-level special-purpose computer language has been developed to expedite application of numerical optimization to design problems and to make the process less error-prone. This document is a reference manual for those wishing to write SOL programs. SOL is presently available for DEC VAX/VMS systems. A SOL package is available which includes the SOL compiler and runtime library routines. An overview of SOL appears in NASA TM 100565
The Sketch of a Polymorphic Symphony
In previous work, we have introduced functional strategies, that is,
first-class generic functions that can traverse into terms of any type while
mixing uniform and type-specific behaviour. In the present paper, we give a
detailed description of one particular Haskell-based model of functional
strategies. This model is characterised as follows. Firstly, we employ
first-class polymorphism as a form of second-order polymorphism as for the mere
types of functional strategies. Secondly, we use an encoding scheme of run-time
type case for mixing uniform and type-specific behaviour. Thirdly, we base all
traversal on a fundamental combinator for folding over constructor
applications.
Using this model, we capture common strategic traversal schemes in a highly
parameterised style. We study two original forms of parameterisation. Firstly,
we design parameters for the specific control-flow, data-flow and traversal
characteristics of more concrete traversal schemes. Secondly, we use
overloading to postpone commitment to a specific type scheme of traversal. The
resulting portfolio of traversal schemes can be regarded as a challenging
benchmark for setups for typed generic programming.
The way we develop the model and the suite of traversal schemes, it becomes
clear that parameterised + typed strategic programming is best viewed as a
potent combination of certain bits of parametric, intensional, polytypic, and
ad-hoc polymorphism
The Belgian repository of fundamental atomic data and stellar spectra (BRASS). I. Cross-matching atomic databases of astrophysical interest
Fundamental atomic parameters, such as oscillator strengths, play a key role
in modelling and understanding the chemical composition of stars in the
universe. Despite the significant work underway to produce these parameters for
many astrophysically important ions, uncertainties in these parameters remain
large and can propagate throughout the entire field of astronomy. The Belgian
repository of fundamental atomic data and stellar spectra (BRASS) aims to
provide the largest systematic and homogeneous quality assessment of atomic
data to date in terms of wavelength, atomic and stellar parameter coverage. To
prepare for it, we first compiled multiple literature occurrences of many
individual atomic transitions, from several atomic databases of astrophysical
interest, and assessed their agreement. Several atomic repositories were
searched and their data retrieved and formatted in a consistent manner. Data
entries from all repositories were cross-matched against our initial BRASS
atomic line list to find multiple occurrences of the same transition. Where
possible we used a non-parametric cross-match depending only on electronic
configurations and total angular momentum values. We also checked for duplicate
entries of the same physical transition, within each retrieved repository,
using the non-parametric cross-match. We report the cross-matched transitions
for each repository and compare their fundamental atomic parameters. We find
differences in log(gf) values of up to 2 dex or more. We also find and report
that ~2% of our line list and Vienna Atomic Line Database retrievals are
composed of duplicate transitions. Finally we provide a number of examples of
atomic spectral lines with different log(gf) values, and discuss the impact of
these uncertain log(gf) values on quantitative spectroscopy. All cross-matched
atomic data and duplicate transitions are available to download at
brass.sdf.org.Comment: 18 pages, 12 figures, 9 tables. Accepted for publication in A&
- …