71 research outputs found

    Lightweight Multilingual Software Analysis

    Full text link
    Developer preferences, language capabilities and the persistence of older languages contribute to the trend that large software codebases are often multilingual, that is, written in more than one computer language. While developers can leverage monolingual software development tools to build software components, companies are faced with the problem of managing the resultant large, multilingual codebases to address issues with security, efficiency, and quality metrics. The key challenge is to address the opaque nature of the language interoperability interface: one language calling procedures in a second (which may call a third, or even back to the first), resulting in a potentially tangled, inefficient and insecure codebase. An architecture is proposed for lightweight static analysis of large multilingual codebases: the MLSA architecture. Its modular and table-oriented structure addresses the open-ended nature of multiple languages and language interoperability APIs. We focus here as an application on the construction of call-graphs that capture both inter-language and intra-language calls. The algorithms for extracting multilingual call-graphs from codebases are presented, and several examples of multilingual software engineering analysis are discussed. The state of the implementation and testing of MLSA is presented, and the implications for future work are discussed.Comment: 15 page

    FunTAL: Reasonably Mixing a Functional Language with Assembly

    Full text link
    We present FunTAL, the first multi-language system to formalize safe interoperability between a high-level functional language and low-level assembly code while supporting compositional reasoning about the mix. A central challenge in developing such a multi-language is bridging the gap between assembly, which is staged into jumps to continuations, and high-level code, where subterms return a result. We present a compositional stack-based typed assembly language that supports components, comprised of one or more basic blocks, that may be embedded in high-level contexts. We also present a logical relation for FunTAL that supports reasoning about equivalence of high-level components and their assembly replacements, mixed-language programs with callbacks between languages, and assembly components comprised of different numbers of basic blocks.Comment: 15 pages; implementation at https://dbp.io/artifacts/funtal/; published in PLDI '17, Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, June 18 - 23, 2017, Barcelona, Spai

    Relational Parametricity and Separation Logic

    Get PDF
    Separation logic is a recent extension of Hoare logic for reasoning about programs with references to shared mutable data structures. In this paper, we provide a new interpretation of the logic for a programming language with higher types. Our interpretation is based on Reynolds's relational parametricity, and it provides a formal connection between separation logic and data abstraction

    Size-Change Termination as a Contract

    Full text link
    Termination is an important but undecidable program property, which has led to a large body of work on static methods for conservatively predicting or enforcing termination. One such method is the size-change termination approach of Lee, Jones, and Ben-Amram, which operates in two phases: (1) abstract programs into "size-change graphs," and (2) check these graphs for the size-change property: the existence of paths that lead to infinite decreasing sequences. We transpose these two phases with an operational semantics that accounts for the run-time enforcement of the size-change property, postponing (or entirely avoiding) program abstraction. This choice has two key consequences: (1) size-change termination can be checked at run-time and (2) termination can be rephrased as a safety property analyzed using existing methods for systematic abstraction. We formulate run-time size-change checks as contracts in the style of Findler and Felleisen. The result compliments existing contracts that enforce partial correctness specifications to obtain contracts for total correctness. Our approach combines the robustness of the size-change principle for termination with the precise information available at run-time. It has tunable overhead and can check for nontermination without the conservativeness necessary in static checking. To obtain a sound and computable termination analysis, we apply existing abstract interpretation techniques directly to the operational semantics, avoiding the need for custom abstractions for termination. The resulting analyzer is competitive with with existing, purpose-built analyzers

    Cache-aware cross-profiling for java processors

    Full text link

    Immunomodulating Therapies in Acute Myocarditis and Recurrent/Acute Pericarditis

    Get PDF
    The field of inflammatory disease of the heart or "cardio-immunology " is rapidly evolving due to the wider use of non-invasive diagnostic tools able to detect and monitor myocardial inflammation. In acute myocarditis, recent data on the use of immunomodulating therapies have been reported both in the setting of systemic autoimmune disorders and in the setting of isolated forms, especially in patients with specific histology (e.g., eosinophilic myocarditis) or with an arrhythmicburden. A role for immunosuppressive therapies has been also shown in severe cases of coronavirus disease 2019 (COVID-19), a condition that can be associated with cardiac injury and acute myocarditis. Furthermore, ongoing clinical trials are assessing the role of high dosage methylprednisolone in the context of acute myocarditis complicated by heart failure or fulminant presentation or the role of anakinra to treat patients with acute myocarditis excluding patients with hemodynamically unstable conditions. In addition, the explosion of immune-mediated therapies in oncology has introduced new pathophysiological entities, such as immune-checkpoint inhibitor-associated myocarditis and new basic research models to understand the interaction between the cardiac and immune systems. Here we provide a broad overview of evolving areas in cardio-immunology. We summarize the use of new imaging tools in combination with endomyocardial biopsy and laboratory parameters such as high sensitivity troponin to monitor the response to immunomodulating therapies based on recent evidence and clinical experience. Concerning pericarditis, the normal composition of pericardial fluid has been recently elucidated, allowing to assess the actual presence of inflammation; indeed, normal pericardial fluid is rich in nucleated cells, protein, albumin, LDH, at levels consistent with inflammatory exudates in other biological fluids. Importantly, recent findings showed how innate immunity plays a pivotal role in the pathogenesis of recurrent pericarditis with raised C-reactive protein, with inflammasome and IL-1 overproduction as drivers for systemic inflammatory response. In the era of tailored medicine, anti-IL-1 agents such as anakinra and rilonacept have been demonstrated highly effective in patients with recurrent pericarditis associated with an inflammatory phenotype.Peer reviewe

    Delimited control operators prove Double-negation Shift

    Get PDF
    We propose an extension of minimal intuitionistic predicate logic, based on delimited control operators, that can derive the predicate-logic version of the Double-negation Shift schema, while preserving the disjunction and existence properties

    Aspect weaving in standard Java class libraries

    Full text link
    • …
    corecore