8,402 research outputs found

    A Generic Approach to Flow-Sensitive Polymorphic Effects

    Get PDF
    Effect systems are lightweight extensions to type systems that can verify a wide range of important properties with modest developer burden. But our general understanding of effect systems is limited primarily to systems where the order of effects is irrelevant. Understanding such systems in terms of a lattice of effects grounds understanding of the essential issues, and provides guidance when designing new effect systems. By contrast, sequential effect systems --- where the order of effects is important --- lack a clear algebraic characterization. We derive an algebraic characterization from the shape of prior concrete sequential effect systems. We present an abstract polymorphic effect system with singleton effects parameterized by an effect quantale --- an algebraic structure with well-defined properties that can model a range of existing order-sensitive effect systems. We define effect quantales, derive useful properties, and show how they cleanly model a variety of known sequential effect systems. We show that effect quantales provide a free, general notion of iterating a sequential effect, and that for systems we consider the derived iteration agrees with the manually designed iteration operators in prior work. Identifying and applying the right algebraic structure led us to subtle insights into the design of order-sensitive effect systems, which provides guidance on non-obvious points of designing order-sensitive effect systems. Effect quantales have clear relationships to the recent category theoretic work on order-sensitive effect systems, but are explained without recourse to category theory. In addition, our derived iteration construct should generalize to these semantic structures, addressing limitations of that work

    A Multiscale Approach for the Characterization and Crystallization of Eflucimibe Polymorphs: from Molecules to Particles

    Get PDF
    We present in this paper a generic multiscale methodology for the characterization and crystallization of eflucimibe polymorphs. The various characterization techniques used have shown that eflucimibe polymorphism is due to a conformational change of the molecule in the crystal lattice. In addition, the two polymorphs are monotropically related in the temperature range tested and have similar structures and properties (ie. interfacial tension and solubility). Consequently, it was found that for a wide range of operating conditions, the polymorphs may crystallize concomitantly. Induction time measurements and metstable zone width determination allow to infer the origin of the concomitant appearance of the polymorphs. A predominance diagram has been established which allows to perfectly control the crystallization of the desired polymorph. However, even if the stable form can be produced in a reliable way, the crystal suspension went toward a very structured gel-like network which limits the extrapolation process. Based on microscopic observation of the crystallization events performed in a microfluidic crystallizer, we propose a range of operating conditions suitable for the production of the stable form with the desired handling properties

    Fast and Lean Immutable Multi-Maps on the JVM based on Heterogeneous Hash-Array Mapped Tries

    Get PDF
    An immutable multi-map is a many-to-many thread-friendly map data structure with expected fast insert and lookup operations. This data structure is used for applications processing graphs or many-to-many relations as applied in static analysis of object-oriented systems. When processing such big data sets the memory overhead of the data structure encoding itself is a memory usage bottleneck. Motivated by reuse and type-safety, libraries for Java, Scala and Clojure typically implement immutable multi-maps by nesting sets as the values with the keys of a trie map. Like this, based on our measurements the expected byte overhead for a sparse multi-map per stored entry adds up to around 65B, which renders it unfeasible to compute with effectively on the JVM. In this paper we propose a general framework for Hash-Array Mapped Tries on the JVM which can store type-heterogeneous keys and values: a Heterogeneous Hash-Array Mapped Trie (HHAMT). Among other applications, this allows for a highly efficient multi-map encoding by (a) not reserving space for empty value sets and (b) inlining the values of singleton sets while maintaining a (c) type-safe API. We detail the necessary encoding and optimizations to mitigate the overhead of storing and retrieving heterogeneous data in a hash-trie. Furthermore, we evaluate HHAMT specifically for the application to multi-maps, comparing them to state-of-the-art encodings of multi-maps in Java, Scala and Clojure. We isolate key differences using microbenchmarks and validate the resulting conclusions on a real world case in static analysis. The new encoding brings the per key-value storage overhead down to 30B: a 2x improvement. With additional inlining of primitive values it reaches a 4x improvement

    Abundant variation in microsatellites of the parasitic nematode Trichostrongylus tenuis and linkage to a tandem repeat

    Get PDF
    An understanding of how genes move between and within populations of parasitic nematodes is important in combating the evolution and spread of anthelmintic resistance. Much has been learned by studying mitochondrial DNA markers, but autosomal markers such as microsatellites have been applied to only a few nematode species, despite their many advantages for studying gene flow in eukaryotes. Here, we describe the isolation of 307 microsatellites from Trichostrongylus tenuis, an intestinal nematode of red grouse. High levels of variation were revealed at sixteen microsatellite loci (including three sex-lined loci) in 111 male T. tenuis nematodes collected from four hosts at a single grouse estate in Scotland (average He = 0.708; mean number of alleles = 12.2). A population genetic analysis detected no deviation from panmixia either between (F(ST) = 0.00) or within hosts (F(IS) = 0.015). We discuss the feasibility of developing microsatellites in parasitic nematodes and the problem of null alleles. We also describe a novel 146-bp repeat element, TteREP1, which is linked to two-thirds of the microsatellites sequenced and is associated with marker development failure. The sequence of TteREP1 is related to the TcREP-class of repeats found in several other trichostrongyloid species including Trichostrongylus colubriformis and Haemonchus contortus

    The genetic architecture underlying the evolution of a rare piscivorous life history form in brown trout after secondary contact and strong introgression

    Get PDF
    Identifying the genetic basis underlying phenotypic divergence and reproductive isolation is a longstanding problem in evolutionary biology. Genetic signals of adaptation and reproductive isolation are often confounded by a wide range of factors, such as variation in demographic history or genomic features. Brown trout ( ) in the Loch Maree catchment, Scotland, exhibit reproductively isolated divergent life history morphs, including a rare piscivorous (ferox) life history form displaying larger body size, greater longevity and delayed maturation compared to sympatric benthivorous brown trout. Using a dataset of 16,066 SNPs, we analyzed the evolutionary history and genetic architecture underlying this divergence. We found that ferox trout and benthivorous brown trout most likely evolved after recent secondary contact of two distinct glacial lineages, and identified 33 genomic outlier windows across the genome, of which several have most likely formed through selection. We further identified twelve candidate genes and biological pathways related to growth, development and immune response potentially underpinning the observed phenotypic differences. The identification of clear genomic signals divergent between life history phenotypes and potentially linked to reproductive isolation, through size assortative mating, as well as the identification of the underlying demographic history, highlights the power of genomic studies of young species pairs for understanding the factors shaping genetic differentiation

    Sound and Precise Malware Analysis for Android via Pushdown Reachability and Entry-Point Saturation

    Full text link
    We present Anadroid, a static malware analysis framework for Android apps. Anadroid exploits two techniques to soundly raise precision: (1) it uses a pushdown system to precisely model dynamically dispatched interprocedural and exception-driven control-flow; (2) it uses Entry-Point Saturation (EPS) to soundly approximate all possible interleavings of asynchronous entry points in Android applications. (It also integrates static taint-flow analysis and least permissions analysis to expand the class of malicious behaviors which it can catch.) Anadroid provides rich user interface support for human analysts which must ultimately rule on the "maliciousness" of a behavior. To demonstrate the effectiveness of Anadroid's malware analysis, we had teams of analysts analyze a challenge suite of 52 Android applications released as part of the Auto- mated Program Analysis for Cybersecurity (APAC) DARPA program. The first team analyzed the apps using a ver- sion of Anadroid that uses traditional (finite-state-machine-based) control-flow-analysis found in existing malware analysis tools; the second team analyzed the apps using a version of Anadroid that uses our enhanced pushdown-based control-flow-analysis. We measured machine analysis time, human analyst time, and their accuracy in flagging malicious applications. With pushdown analysis, we found statistically significant (p < 0.05) decreases in time: from 85 minutes per app to 35 minutes per app in human plus machine analysis time; and statistically significant (p < 0.05) increases in accuracy with the pushdown-driven analyzer: from 71% correct identification to 95% correct identification.Comment: Appears in 3rd Annual ACM CCS workshop on Security and Privacy in SmartPhones and Mobile Devices (SPSM'13), Berlin, Germany, 201
    corecore