2,087 research outputs found
Reasoning About Foreign Function Interfaces Without Modelling the Foreign Language
Foreign function interfaces (FFIs) allow programs written in one language (called the host language) to call functions written in another language (called the guest language), and are widespread throughout modern programming languages, with C FFIs being the most prevalent. Unfortunately, reasoning about C FFIs can be very challenging, particularly when using traditional methods which necessitate a full model of the guest language in order to guarantee anything about the whole language. To address this, we propose a framework for defining whole language semantics of FFIs without needing to model the guest language, which makes reasoning about C FFIs feasible. We show that with such a semantics, one can guarantee some form of soundness of the overall language, as well as attribute errors in well-typed host language programs to the guest language. We also present an implementation of this scheme, Poseidon Lua, which shows a speedup over a traditional Lua C FFI
Reasoning About Foreign Function Interfaces Without Modelling the Foreign Language (Artifact)
There are two components to this artifact. First, a we provide a mechanization of the formalization in the paper, as well as mechanized proofs of the main results from the paper. Second, we provide a full implementation of Poseidon Lua, the language implemented in the paper. Instructions for all components of the artifact are included this document
Blame for Null
Multiple modern programming languages, including Kotlin, Scala, Swift, and C#, have type systems where nullability is explicitly specified in the types. All of the above also need to interoperate with languages where types remain implicitly nullable, like Java. This leads to runtime errors that can manifest in subtle ways. In this paper, we show how to reason about the presence and provenance of such nullability errors using the concept of blame from gradual typing. Specifically, we introduce a calculus, ?_null, where some terms are typed as implicitly nullable and others as explicitly nullable. Just like in the original blame calculus of Wadler and Findler, interactions between both kinds of terms are mediated by casts with attached blame labels, which indicate the origin of errors. On top of ?_null, we then create a second calculus, ?_null^s, which closely models the interoperability between languages with implicit nullability and languages with explicit nullability, such as Java and Scala. Our main result is a theorem that states that nullability errors in ?_null^s can always be blamed on terms with less-precise typing; that is, terms typed as implicitly nullable. By analogy, this would mean that NullPointerExceptions in combined Java/Scala programs are always the result of unsoundness in the Java type system. We summarize our result with the slogan explicitly nullable programs can\u27t be blamed. All our results are formalized in the Coq proof assistant
Blame for Null (Artifact)
This artifact is a companion to the paper "Blame for Null", where we formalize multiple calculi to reason about the interoperability between languages where nullability is explicit and those where nullability is implicit. Our main result is a theorem that states that nullability errors can always be blamed on terms with less-precise typing; that is, terms typed as implicitly nullable. We summarize our result with the slogan explicitly nullable programs can\u27t be blamed. The artifact consists of a mechanized Coq proof of the results presented in the paper
Recommended from our members
Older people as equal partners in creative design
Active older people want to be actively engaged by contributing their experiences to design better services and products. This paper demonstrates the importance of older peoples engagement in the creative design process in a small study where older people were engaged together with designers in the design of digital devices. Three creative workshops were conducted: the first with designers, the second with designers and older people, and the third with older people only. During the illumination stage of the creative process flexibility and flow were measured with topics and turns. Results show that when older people were working with designers more topics and a higher total number of turns were developed than by older people or designers working on their own, which indicates that they had the highest flexibility of ideas and possibly also the greatest flow
Advanced Fluorescence Microscopy Techniques-FRAP, FLIP, FLAP, FRET and FLIM
Fluorescence microscopy provides an efficient and unique approach to study fixed and living cells because of its versatility, specificity, and high sensitivity. Fluorescence microscopes can both detect the fluorescence emitted from labeled molecules in biological samples as images or photometric data from which intensities and emission spectra can be deduced. By exploiting the characteristics of fluorescence, various techniques have been developed that enable the visualization and analysis of complex dynamic events in cells, organelles, and sub-organelle components within the biological specimen. The techniques described here are fluorescence recovery after photobleaching (FRAP), the related fluorescence loss in photobleaching (FLIP), fluorescence localization after photobleaching (FLAP), Forster or fluorescence resonance energy transfer (FRET) and the different ways how to measure FRET, such as acceptor bleaching, sensitized emission, polarization anisotropy, and fluorescence lifetime imaging microscopy (FLIM). First, a brief introduction into the mechanisms underlying fluorescence as a physical phenomenon and fluorescence, confocal, and multiphoton microscopy is given. Subsequently, these advanced microscopy techniques are introduced in more detail, with a description of how these techniques are performed, what needs to be considered, and what practical advantages they can bring to cell biological research
Prototype ATLAS IBL Modules using the FE-I4A Front-End Readout Chip
The ATLAS Collaboration will upgrade its semiconductor pixel tracking
detector with a new Insertable B-layer (IBL) between the existing pixel
detector and the vacuum pipe of the Large Hadron Collider. The extreme
operating conditions at this location have necessitated the development of new
radiation hard pixel sensor technologies and a new front-end readout chip,
called the FE-I4. Planar pixel sensors and 3D pixel sensors have been
investigated to equip this new pixel layer, and prototype modules using the
FE-I4A have been fabricated and characterized using 120 GeV pions at the CERN
SPS and 4 GeV positrons at DESY, before and after module irradiation. Beam test
results are presented, including charge collection efficiency, tracking
efficiency and charge sharing.Comment: 45 pages, 30 figures, submitted to JINS
The stability and consolidation of the Francoist Regime. The case of Eastern Andalusia, 1936-50
The stabilisation and longevity of Francoâs regime can be explained by the interpenetration of society and the institutions of the âNew Stateâ in three overlapping areas: firstly, in the sphere of
the shared culture of the community of civil war victors; secondly, through repression, based on the decisive collaboration of those supporting Francoism, which cut short any possible opposition; thirdly, in the socio-economic sphere, where those making up the groups supporting the âNew Stateâ would see their personal interests fulfilled. At the same time, the defeated would be ensnared in a maze of misery and silence, abandoning any political concerns and concentrating instead on survival. Accordingly, the regime proved able to win support from a broad range of social groups while also eliminating any signs of opposition.The Spanish Ministerio de InnovaciĂłn y Ciencia funded the research drawn on for this article (reference HAR2009â07487)
Measurement of the inclusive and dijet cross-sections of b-jets in pp collisions at sqrt(s) = 7 TeV with the ATLAS detector
The inclusive and dijet production cross-sections have been measured for jets
containing b-hadrons (b-jets) in proton-proton collisions at a centre-of-mass
energy of sqrt(s) = 7 TeV, using the ATLAS detector at the LHC. The
measurements use data corresponding to an integrated luminosity of 34 pb^-1.
The b-jets are identified using either a lifetime-based method, where secondary
decay vertices of b-hadrons in jets are reconstructed using information from
the tracking detectors, or a muon-based method where the presence of a muon is
used to identify semileptonic decays of b-hadrons inside jets. The inclusive
b-jet cross-section is measured as a function of transverse momentum in the
range 20 < pT < 400 GeV and rapidity in the range |y| < 2.1. The bbbar-dijet
cross-section is measured as a function of the dijet invariant mass in the
range 110 < m_jj < 760 GeV, the azimuthal angle difference between the two jets
and the angular variable chi in two dijet mass regions. The results are
compared with next-to-leading-order QCD predictions. Good agreement is observed
between the measured cross-sections and the predictions obtained using POWHEG +
Pythia. MC@NLO + Herwig shows good agreement with the measured bbbar-dijet
cross-section. However, it does not reproduce the measured inclusive
cross-section well, particularly for central b-jets with large transverse
momenta.Comment: 10 pages plus author list (21 pages total), 8 figures, 1 table, final
version published in European Physical Journal
- âŠ