2,087 research outputs found

    Reasoning About Foreign Function Interfaces Without Modelling the Foreign Language

    Get PDF
    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)

    Get PDF
    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

    Get PDF
    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)

    Get PDF
    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

    Advanced Fluorescence Microscopy Techniques-FRAP, FLIP, FLAP, FRET and FLIM

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    • 

    corecore