bluuebunny/crossref_metadata_2025 huggingface dataset:
Predicting environmental soil phosphorus limits for dissolved reactive phosphorus loss
Authors: Wang Y. T. , Zhang T. Q. , O'halloran I. P. , Tan C. S. , Hu Q. C.
Published: December 2015

The dependence of runoff dissolved reactive phosphorus (DRP) loss on soil test P or rapid estimations of degree of P saturation (DPS) often varies with soil types. It is not clear whether the soil‐specific nature of runoff DRP versus DPS is due to the different sorption characteristics of individual soils or the inability of these rapid DPS estimates to accurately reflect the actual soil P saturation status. This study aimed to assess environmental measures of soil P that could serve as reliable predictors of runoff DRP concentration by using soils collected from Ontario, Canada, that cover a range of chemical and physical properties. A P sorption study was conducted using the Langmuir equation  to describe amount of P sorbed or desorbed by the soil (Qs, mg/kg) versus equilibrium P concentration (C, mg/L) in solution, where Qmax is P sorption maximum (mg/kg), k represents P sorption strength (L/mg), and Q0 (mg/kg) is the P sorbed to soil prior to analysis. Runoff DRP concentration increased linearly with increasing DPSsorp (i.e. the ratio of (Q0 + QD)/Qmax) following a common slope value amongst soil types, while the P buffering capacity (PBC0) at C = C0 yielded a common change point, below which runoff DRP concentration decreased greatly with increasing PBC0 compared to that above the change point, where C0 and QD represent the equilibrium P concentration and amount of P desorbed, respectively. Both DPSsorp and PBC0 showed great promises as indicators of runoff DRP concentration.
Strict supports of canonical measures and applications to the geometric Bogomolov conjecture
Authors: Yamaki Kazuhiko
Published: December 2015

The Bogomolov conjecture claims that a closed subvariety containing a dense subset of small points is a special kind of subvariety. In the arithmetic setting over number fields, the Bogomolov conjecture for abelian varieties has already been established as a theorem of Ullmo and Zhang, but in the geometric setting over function fields, it has not yet been solved completely. There are only some partial results known such as the totally degenerate case due to Gubler and our recent work generalizing Gubler’s result. The key in establishing the previous results on the Bogomolov conjecture is the equidistribution method due to Szpiro, Ullmo and Zhang with respect to the canonical measures. In this paper we exhibit the limits of this method, making an important contribution to the geometric version of the conjecture. In fact, by the crucial investigation of the support of the canonical measure on a subvariety, we show that the conjecture in full generality holds if the conjecture holds for abelian varieties which have anywhere good reduction. As a consequence, we establish a partial answer that generalizes our previous result.
Vocalic correlates of pitch in whispered versus normal speech
Authors: Heeren Willemijn F. L.
Published: December 2015

In whispered speech, the fundamental frequency is absent as a main cue to pitch. This study investigated how different pitch targets can acoustically be coded in whispered relative to normal speech. Secondary acoustic correlates that are found in normal speech may be preserved in whisper. Alternatively, whispering speakers may provide compensatory information. Compared to earlier studies, a more comprehensive set of acoustic correlates (duration, intensity, formants, center-of-gravity, spectral balance) and a larger set of materials were included. To elicit maximal acoustic differences among the low, mid, and high pitch targets, linguistic and semantic load were minimized: 12 native Dutch speakers produced the point vowels (/a, i, u/) in nonsense vowel-consonant-vowel targets (with C = {/s/, /f/}). Acoustic analyses showed that in addition to systematic changes in formants, which have been reported before, also center of gravity, spectral balance, and intensity varied with pitch target, both in whispered and normal speech. Some acoustic correlates differed more in whispered than in normal speech, suggesting that speakers can adopt a compensatory strategy when coding pitch in the speech mode lacking the main cue. Speakers furthermore varied in the extent to which particular correlates were used, and in the combination of correlates they altered systematically.
Experimental verification of acoustic trace wavelength enhancement
Authors: Cray Benjamin A.
Published: December 2015

Directivity is essentially a measure of a sonar array's beamwidth that can be obtained in a spherically isotropic ambient noise field; narrow array mainbeam widths are more directive than broader mainbeam widths. For common sonar systems, the directivity factor (or directivity index) is directly proportional to the ratio of an incident acoustic trace wavelength to the sonar array's physical length (which is always constrained). Increasing this ratio, by creating additional trace wavelengths for a fixed array length, will increase array directivity. Embedding periodic structures within an array generates Bragg scattering of the incident acoustic plane wave along the array's surface. The Bragg scattered propagating waves are shifted in a precise manner and create shorter wavelength replicas of the original acoustic trace wavelength. These replicated trace wavelengths (which contain identical signal arrival information) increase an array's wavelength to length ratio and thus directivity. Therefore, a smaller array, in theory, can have the equivalent directivity of a much larger array. Measurements completed in January 2015 at the Naval Undersea Warfare Center's Acoustic Test Facility, in Newport, RI, verified, near perfectly, these replicated, shorter, trace wavelengths.
Geologic interpretation of aeromagnetic and chemical data from the Oaks Belt, Wabigoon subprovince, Minnesota: implications for Au-rich VMS deposit exploration
Authors: Hendrickson Michael D.
Published: December 2015

The Oaks Belt (OB) is a Neoarchean volcanic complex located in northwestern Minnesota, USA. It is part of the Wabigoon granite–greenstone terrane that hosts the world-class Rainy River gold deposit in nearby Ontario, Canada. Rocks in the OB form a north-dipping homocline in the fault-bounded pressure shadow of a sigma-shaped volcano-plutonic wedge that spans east–west for 220 km across the Minnesota, USA – Ontario, Canada border. Exploration drilling in the area delineated pyrrhotite–pyrite massive sulfide deposits, iron formation, chert, and semi-massive sphalerite mineralized zones. High-resolution aeromagnetic data indicate a large (∼60 km2) composite subvolcanic intrusion underlies these iron-rich strata in the OB. The position of this inferred intrusion elucidates the low base metal content of known massive sulfide deposits, as they were too far away (6–10 km) from a heat source to have been favorable sites for base metal deposition. The relative abundance of Au and Zn in the OB, alongside correlation coefficients between metals in massive sulfide deposits, iron formation, and chert, indicates the rocks were affected by a low-temperature hydrothermal system under relatively shallow water conditions (<1000 m). Negative correlation between Na2O and CaO in basalt, and their mutual moderate positive correlation with immobile corundum (Al2O3), implies alteration in the upper part of the volcanic pile did not result in substantial element mobility in most samples. Geochemical data from mafic and felsic volcanic rocks plot mainly in the calc-alkaline field. Thus, the OB is most prospective for hosting Au-rich VMS deposits and future exploration should focus on paleo-thermal corridors and favorable stratigraphic horizons near the newly inferred composite subvolcanic intrusion.
Intracone variation explains most of the variance in Picea abies seed weight: implications for seed sorting
Authors: Himanen Katri , Helenius Pekka , Ylioja Tiina , Nygren Markku
Published: December 2015

Norway spruce (Picea abies (L.) Karst.) seed is collected from both forest stands after final felling and from seed orchards. To produce high-germinability seed lots that are easy to use in nursery sowing machines, empty, insect-damaged, and other poor-quality seeds are culled. Sorting is done typically by weight or size. Previous studies of conifer seed have indicated wide variation in seed weight between individual trees or clones. However, the intratree or intraclone variations have rarely been taken into account, and intracone variation in seed weight has not been examined. We collected cones from a forest stand and from a clonal seed orchard in central Finland. Each seed from each cone was extracted, weighed, and x-rayed to assess their quality. Trees and clones differed in terms of the proportions of different quality seed. Variance component analysis showed that the intracone variation explained a larger proportion of the total variation in seed weight than did the intercone/intertree or interclone variations. Thus weight-based seed sorting has less effect on the genetic diversity of a seed lot than previously believed. We also conclude that the large differences in proportion of full seed among trees and clones impact the contribution of genotypes in seed and, eventually, in seedling lots.
The building blocks of a cloud strategy
Authors: Goutas Lazaros , Sutanto Juliana , Aldarbesti Hassan
Published: December 2015

Before looking to enter a cloud-based market, weigh industry characteristics and one's own stock of design capital.
A Survey on Assessment and Ranking Methodologies for User-Generated Content on the Web
Authors: Momeni Elaheh , Cardie Claire , Diakopoulos Nicholas
Published: December 2015

User-generated content (UGC) on the Web, especially on social media platforms, facilitates the association of additional information with digital resources; thus, it can provide valuable supplementary content. However, UGC varies in quality and, consequently, raises the challenge of how to maximize its utility for a variety of end-users. This study aims to provide researchers and Web data curators with comprehensive answers to the following questions: What are the existing approaches and methods for assessing and ranking UGC? What features and metrics have been used successfully to assess and predict UGC value across a range of application domains? What methods can be effectively employed to maximize that value? This survey is composed of a systematic review of approaches for assessing and ranking UGC: results are obtained by identifying and comparing methodologies within the context of short text-based UGC on the Web. Existing assessment and ranking approaches adopt one of four framework types: the community-based framework takes into consideration the value assigned to content by a crowd of humans, the end-user--based framework adapts and personalizes the assessment and ranking process with respect to a single end-user, the designer-based framework encodes the software designer’s values in the assessment and ranking method, and the hybrid framework employs methods from more than one of these types. This survey suggests a need for further experimentation and encourages the development of new approaches for the assessment and ranking of UGC.
Modeling, Profiling, and Debugging the Energy Consumption of Mobile Devices
Authors: Hoque Mohammad Ashraful , Siekkinen Matti , Khan Kashif Nizam , Xiao Yu , Tarkoma Sasu
Published: December 2015

Software energy profilers are the tools to measure the energy consumption of mobile devices, applications running on those devices, and various hardware components. They adopt different modeling and measurement techniques. In this article, we aim to review a wide range of such energy profilers for mobile devices. First, we introduce the terminologies and describe the power modeling and measurement methodologies applied in model-based energy profiling. Next, we classify the profilers according to their implementation and deployment strategies, and compare the profiling capabilities and performance between different types. Finally, we point out their limitations and the corresponding challenges.
A Systematic Review of Service Level Management in the Cloud
Authors: Faniyi Funmilade , Bahsoon Rami
Published: December 2015

Cloud computing make it possible to flexibly procure, scale, and release computational resources on demand in response to workload changes. Stakeholders in business and academia are increasingly exploring cloud deployment options for their critical applications. One open problem is that service level agreements (SLAs) in the cloud ecosystem are yet to mature to a state where critical applications can be reliably deployed in clouds. This article systematically surveys the landscape of SLA-based cloud research to understand the state of the art and identify open problems. The survey is particularly aimed at the resource allocation phase of the SLA life cycle while highlighting implications on other phases. Results indicate that (i) minimal number of SLA parameters are accounted for in most studies; (ii) heuristics, policies, and optimisation are the most commonly used techniques for resource allocation; and (iii) the monitor-analysis-plan-execute (MAPE) architecture style is predominant in autonomic cloud systems. The results contribute to the fundamentals of engineering cloud SLA and their autonomic management, motivating further research and industrial-oriented solutions.
Gene Amdahl, 1922--2015
Authors: CACM Staff
Published: December 2015

Gene Amdahl, who formulated Amdahl's Law and worked with IBM and others on developments related to mainframe computing, died recently from complications of pneumonia.
Barrier elision for production parallel programs
Authors: Chabbi Milind , Lavrijsen Wim , de Jong Wibe , Sen Koushik , Mellor-Crummey John , Iancu Costin
Published: December 2015

Large scientific code bases are often composed of several layers of runtime libraries, implemented in multiple programming languages. In such situation, programmers often choose conservative synchronization patterns leading to suboptimal performance. In this paper, we present context-sensitive dynamic optimizations that elide barriers redundant during the program execution. In our technique, we perform data race detection alongside the program to identify redundant barriers in their calling contexts; after an initial learning, we start eliding all future instances of barriers occurring in the same calling context. We present an automatic on-the-fly optimization and a multi-pass guided optimization. We apply our techniques to NWChem--a 6 million line computational chemistry code written in C/C++/Fortran that uses several runtime libraries such as Global Arrays, ComEx, DMAPP, and MPI. Our technique elides a surprisingly high fraction of barriers (as many as 63%) in production runs. This redundancy elimination translates to application speedups as high as 14% on 2048 cores. Our techniques also provided valuable insight about the application behavior, later used by NWChem developers. Overall, we demonstrate the value of holistic context-sensitive analyses that consider the domain science in conjunction with the associated runtime software stack.
PLUTO+: near-complete modeling of affine transformations for parallelism and locality
Authors: Acharya Aravind , Bondhugula Uday
Published: December 2015

Affine transformations have proven to be very powerful for loop restructuring due to their ability to model a very wide range of transformations. A single multi-dimensional affine function can represent a long and complex sequence of simpler transformations. Existing affine transformation frameworks like the Pluto algorithm, that include a cost function for modern multicore architectures where coarse-grained parallelism and locality are crucial, consider only a sub-space of transformations to avoid a combinatorial explosion in finding the transformations. The ensuing practical trade-offs lead to the exclusion of certain useful transformations, in particular, transformation compositions involving loop reversals and loop skewing by negative factors. In this paper, we propose an approach to address this limitation by modeling a much larger space of affine transformations in conjunction with the Pluto algorithm's cost function. We perform an experimental evaluation of both, the effect on compilation time, and performance of generated codes. The evaluation shows that our new framework, Pluto+, provides no degradation in performance in any of the Polybench benchmarks. For Lattice Boltzmann Method (LBM) codes with periodic boundary conditions, it provides a mean speedup of 1.33x over Pluto. We also show that Pluto+ does not increase compile times significantly. Experimental results on Polybench show that Pluto+ increases overall polyhedral source-to-source optimization time only by 15%. In cases where it improves execution time significantly, it increased polyhedral optimization time only by 2.04x.
CASTLE: fast concurrent internal binary search tree using edge-based locking
Authors: Ramachandran Arunmoezhi , Mittal Neeraj
Published: December 2015

We present a new lock-based algorithm for concurrent manipulation of a binary search tree in an asynchronous shared memory system that supports search, insert and delete operations. Some of the desirable characteristics of our algorithm are: (i) a search operation uses only read and write instructions, (ii) an insert operation does not acquire any locks, and (iii) a delete operation only needs to lock up to four edges in the absence of contention. Our algorithm is based on an internal representation of a search tree and it operates at edge-level (locks edges) rather than at node-level (locks nodes); this minimizes the contention window of a write operation and improves the system throughput. Our experiments indicate that our lock-based algorithm outperforms existing algorithms for a concurrent binary search tree for medium-sized and larger trees, achieving up to 59% higher throughput than the next best algorithm.
Partial aborts for transactions via first-class continuations
Authors: Le Matthew , Fluet Matthew
Published: December 2015

Software transactional memory (STM) has proven to be a useful abstraction for developing concurrent applications, where programmers denote transactions with an atomic construct that delimits a collection of reads and writes to shared mutable references. The runtime system then guarantees that all transactions are observed to execute atomically with respect to each other. Traditionally, when the runtime system detects that one transaction conflicts with another, it aborts one of the transactions and restarts its execution from the beginning. This can lead to problems with both execution time and throughput. In this paper, we present a novel approach that uses first-class continuations to restart a conflicting transaction at the point of a conflict, avoiding the re-execution of any work from the beginning of the transaction that has not been compromised. In practice, this allows transactions to complete more quickly, decreasing execution time and increasing throughput. We have implemented this idea in the context of the Manticore project, an ML-family language with support for parallelism and concurrency. Crucially, we rely on constant-time continuation capturing via a continuation-passing-style (CPS) transformation and heap-allocated continuations. When comparing our STM that performs partial aborts against one that performs full aborts, we achieve a decrease in execution time of up to 31% and an increase in throughput of up to 351%.
RRB vector: a practical general purpose immutable sequence
Authors: Stucki Nicolas , Rompf Tiark , Ureche Vlad , Bagwell Phil
Published: December 2015

State-of-the-art immutable collections have wildly differing performance characteristics across their operations, often forcing programmers to choose different collection implementations for each task. Thus, changes to the program can invalidate the choice of collections, making code evolution costly. It would be desirable to have a collection that performs well for a broad range of operations. To this end, we present the RRB-Vector, an immutable sequence collection that offers good performance across a large number of sequential and parallel operations. The underlying innovations are: (1) the Relaxed-Radix-Balanced (RRB) tree structure, which allows efficient structural reorganization, and (2) an optimization that exploits spatio-temporal locality on the RRB data structure in order to offset the cost of traversing the tree. In our benchmarks, the RRB-Vector speedup for parallel operations is lower bounded by 7x when executing on 4 CPUs of 8 cores each. The performance for discrete operations, such as appending on either end, or updating and removing elements, is consistently good and compares favorably to the most important immutable sequence collections in the literature and in use today. The memory footprint of RRB-Vector is on par with arrays and an order of magnitude less than competing collections.
XQuery and static typing: tackling the problem of backward axes
Authors: Genevès Pierre , Gesbert Nils
Published: December 2015

XQuery is a functional language dedicated to XML data querying and manipulation. As opposed to other W3C-standardized languages for XML (e.g. XSLT), it has been intended to feature strong static typing. Currently, however, some expressions of the language cannot be statically typed with any precision. We argue that this is due to a discrepancy between the semantics of the language and its type algebra: namely, the values of the language are (possibly inner) tree nodes, which may have siblings and ancestors in the data. The types on the other hand are regular tree types, as usual in the XML world: they describe sets of trees. The type associated to a node then corresponds to the subtree whose root is that node and contains no information about the rest of the data. This makes navigation expressions using `backward axes,' which return e.g. the siblings of a node, impossible to type. We discuss how to handle this discrepancy by improving the type system. We describe a logic-based language of extended types able to represent inner tree nodes and show how it can dramatically increase the precision of typing for navigation expressions. We describe how inclusion between these extended types and the classical regular tree types can be decided, allowing a hybrid system combining both type languages. The result is a net increase in precision of typing.
GADTs meet their match: pattern-matching warnings that account for GADTs, guards, and laziness
Authors: Karachalias Georgios , Schrijvers Tom , Vytiniotis Dimitrios , Jones Simon Peyton
Published: December 2015

For ML and Haskell, accurate warnings when a function definition has redundant or missing patterns are mission critical. But today's compilers generate bogus warnings when the programmer uses guards (even simple ones), GADTs, pattern guards, or view patterns. We give the first algorithm that handles all these cases in a single, uniform framework, together with an implementation in GHC, and evidence of its utility in practice.
Applicative bidirectional programming with lenses
Authors: Matsuda Kazutaka , Wang Meng
Published: December 2015

A bidirectional transformation is a pair of mappings between source and view data objects, one in each direction. When the view is modified, the source is updated accordingly with respect to some laws. One way to reduce the development and maintenance effort of bidirectional transformations is to have specialized languages in which the resulting programs are bidirectional by construction---giving rise to the paradigm of bidirectional programming. In this paper, we develop a framework for applicative-style and higher-order bidirectional programming, in which we can write bidirectional transformations as unidirectional programs in standard functional languages, opening up access to the bundle of language features previously only available to conventional unidirectional languages. Our framework essentially bridges two very different approaches of bidirectional programming, namely the lens framework and Voigtländer's semantic bidirectionalization, creating a new programming style that is able to bag benefits from both.
Analysing the complexity of functional programs: higher-order meets first-order
Authors: Avanzini Martin , Dal Lago Ugo , Moser Georg
Published: December 2015

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalised versions of them, and feeding the result to existing tools for the complexity analysis of first-order term rewrite systems. This is done while carefully analysing complexity preservation and reflection of the employed transformations such that the complexity of the obtained term rewrite system reflects on the complexity of the initial program. Further, we describe suitable strategies for the application of the studied transformations and provide ample experimental data for assessing the viability of our method.
Algebras and coalgebras in the light affine Lambda calculus
Authors: Gaboardi Marco , Péchoux Romain
Published: December 2015

Algebra and coalgebra are widely used to model data types in functional programming languages and proof assistants. Their use permits to better structure the computations and also to enhance the expressivity of a language or of a proof system. Interestingly, parametric polymorphism à la System F provides a way to encode algebras and coalgebras in strongly normalizing languages without losing the good logical properties of the calculus. Even if these encodings are sometimes unsatisfying because they provide only limited forms of algebras and coalgebras, they give insights on the expressivity of System F in terms of functions that we can program in it. With the goal of contributing to a better understanding of the expressivity of Implicit Computational Complexity systems, we study the problem of defining algebras and coalgebras in the Light Affine Lambda Calculus, a system characterizing the complexity class FPTIME. This system limits the computational complexity of programs but it also limits the ways we can use parametric polymorphism, and in general the way we can write our programs. We show here that while the restrictions imposed by the Light Affine Lambda Calculus pose some issues to the standard System F encodings, they still permit to encode some form of algebra and coalgebra. Using the algebra encoding one can define in the Light Affine Lambda Calculus the traditional inductive types. Unfortunately, the corresponding coalgebra encoding permits only a very limited form of coinductive data types. To extend this class we study an extension of the Light Affine Lambda Calculus by distributive laws for the modality §. This extension has been discussed but not studied before.
Functional pearl: a SQL to C compiler in 500 lines of code
Authors: Rompf Tiark , Amin Nada
Published: December 2015

We present the design and implementation of a SQL query processor that outperforms existing database systems and is written in just about 500 lines of Scala code -- a convincing case study that high-level functional programming can handily beat C for systems-level programming where the last drop of performance matters. The key enabler is a shift in perspective towards generative programming. The core of the query engine is an interpreter for relational algebra operations, written in Scala. Using the open-source LMS Framework (Lightweight Modular Staging), we turn this interpreter into a query compiler with very low effort. To do so, we capitalize on an old and widely known result from partial evaluation known as Futamura projections, which state that a program that can specialize an interpreter to any given input program is equivalent to a compiler. In this pearl, we discuss LMS programming patterns such as mixed-stage data structures (e.g. data records with static schema and dynamic field components) and techniques to generate low-level C code, including specialized data structures and data loading primitives.
Automatic refunctionalization to a language with copattern matching: with applications to the expression problem
Authors: Rendel Tillmann , Trieflinger Julia , Ostermann Klaus
Published: December 2015

Defunctionalization and refunctionalization establish a correspondence between first-class functions and pattern matching, but the correspondence is not symmetric: Not all uses of pattern matching can be automatically refunctionalized to uses of higher-order functions. To remedy this asymmetry, we generalize from first-class functions to arbitrary codata. This leads us to full defunctionalization and refunctionalization between a codata language based on copattern matching and a data language based on pattern matching. We observe how programs can be written as matrices so that they are modularly extensible in one dimension but not the other. In this representation, defunctionalization and refunctionalization correspond to matrix transposition which effectively changes the dimension of extensibility a program supports. This suggests applications to the expression problem.
Pilsner: a compositionally verified compiler for a higher-order imperative language
Authors: Neis Georg , Hur Chung-Kil , Kaiser Jan-Oliver , McLaughlin Craig , Dreyer Derek , Vafeiadis Viktor
Published: December 2015

Compiler verification is essential for the construction of fully verified software, but most prior work (such as CompCert) has focused on verifying whole-program compilers. To support separate compilation and to enable linking of results from different verified compilers, it is important to develop a compositional notion of compiler correctness that is modular (preserved under linking), transitive (supports multi-pass compilation), and flexible (applicable to compilers that use different intermediate languages or employ non-standard program transformations). In this paper, building on prior work of Hur et al., we develop a novel approach to compositional compiler verification based on parametric inter-language simulations (PILS). PILS are modular: they enable compiler verification in a manner that supports separate compilation. PILS are transitive: we use them to verify Pilsner, a simple (but non-trivial) multi-pass optimizing compiler (programmed in Coq) from an ML-like source language S to an assembly-like target language T, going through a CPS-based intermediate language. Pilsner is the first multi-pass compiler for a higher-order imperative language to be compositionally verified. Lastly, PILS are flexible: we use them to additionally verify (1) Zwickel, a direct non-optimizing compiler for S, and (2) a hand-coded self-modifying T module, proven correct w.r.t. an S-level specification. The output of Zwickel and the self-modifying T module can then be safely linked together with the output of Pilsner. All together, this has been a significant undertaking, involving several person-years of work and over 55,000 lines of Coq.
A co-contextual formulation of type rules and its application to incremental type checking
Authors: Erdweg Sebastian , Bračevac Oliver , Kuci Edlira , Krebs Matthias , Mezini Mira
Published: December 2015

Type rules associate types to expressions given a typing context. As the type checker traverses the expression tree top-down, it extends the typing context with additional context information that becomes available. This way, the typing context coordinates type checking in otherwise independent subexpressions, which inhibits parallelization and incrementalization of type checking. We propose a co-contextual formulation of type rules that only take an expression as input and produce a type and a set of context requirements. Co-contextual type checkers traverse an expression tree bottom-up and merge context requirements of independently checked subexpressions. We describe a method for systematically constructing a co-contextual formulation of type rules from a regular context-based formulation and we show how co-contextual type rules give rise to incremental type checking. Using our method, we derive incremental type checkers for PCF and for extensions that introduce records, parametric polymorphism, and subtyping. Our performance evaluation shows that co-contextual type checking has performance comparable to standard context-based type checking, and incrementalization can improve performance significantly.
Accurate profiling in the presence of dynamic compilation
Authors: Zheng Yudi , Bulej Lubomír , Binder Walter
Published: December 2015

Many profilers based on bytecode instrumentation yield wrong results in the presence of an optimizing dynamic compiler, either due to not being aware of optimizations such as stack allocation and method inlining, or due to the inserted code disrupting such optimizations. To avoid such perturbations, we present a novel technique to make any profiler implemented at the bytecode level aware of optimizations performed by the dynamic compiler. We implement our approach in a state-of-the-art Java virtual machine and demonstrate its significance with concrete profilers. We quantify the impact of escape analysis on allocation profiling, object life-time analysis, and the impact of method inlining on callsite profiling. We illustrate how our approach enables new kinds of profilers, such as a profiler for non-inlined callsites, and a testing framework for locating performance bugs in dynamic compiler implementations.
Valor: efficient, software-only region conflict exceptions
Authors: Biswas Swarnendu , Zhang Minjia , Bond Michael D. , Lucia Brandon
Published: December 2015

Data races complicate programming language semantics, and a data race is often a bug. Existing techniques detect data races and define their semantics by detecting conflicts between synchronization-free regions (SFRs). However, such techniques either modify hardware or slow programs dramatically, preventing always-on use today. This paper describes Valor, a sound, precise, software-only region conflict detection analysis that achieves high performance by eliminating the costly analysis on each read operation that prior approaches require. Valor instead logs a region's reads and lazily detects conflicts for logged reads when the region ends. As a comparison, we have also developed FastRCD, a conflict detector that leverages the epoch optimization strategy of the FastTrack data race detector. We evaluate Valor, FastRCD, and FastTrack, showing that Valor dramatically outperforms FastRCD and FastTrack. Valor is the first region conflict detector to provide strong semantic guarantees for racy program executions with under 2X slowdown. Overall, Valor advances the state of the art in always-on support for strong behavioral guarantees for data races.
ShamDroid: gracefully degrading functionality in the presence of limited resource access
Authors: Brutschy Lucas , Ferrara Pietro , Tripp Omer , Pistoia Marco
Published: December 2015

Given a program whose functionality depends on access to certain external resources, we investigate the question of how to gracefully degrade functionality when a subset of those resources is unavailable. The concrete setting motivating this problem statement is mobile applications, which rely on contextual data (e.g., device identifiers, user location and contacts, etc.) to fulfill their functionality. In particular, we focus on the Android platform, which mediates access to resources via an installation-time permission model. On the one hand, granting an app the permission to access a resource (e.g., the device ID) entails privacy threats (e.g., releasing the device ID to advertising servers). On the other hand, denying access to a resource could render the app useless (e.g., if inability to read the device ID is treated as an error state). Our goal is to specialize an existing Android app in such a way that it is disabled from accessing certain sensitive resources (or contextual data) as specified by the user, while still being able to execute functionality that does not depend on those resources. We present ShamDroid, a program transformation algorithm, based on specialized forms of program slicing, backwards static analysis and constraint solving, that enables the use of Android apps with partial permissions. We rigorously state the guarantees provided by ShamDroid w.r.t. functionality maximization. We provide an evaluation over the top 500 Google Play apps and report on an extensive comparative evaluation of ShamDroid against three other state-of-the-art solutions (APM, XPrivacy, and Google App Ops) that mediate resource access at the system (rather than app) level. ShamDroid performs better than all of these tools by a significant margin, leading to abnormal behavior in only 1 out of 27 apps we manually investigated, compared to the other solutions, which cause crashes and abnormalities in 9 or more of the apps. This demonstrates the importance of performing app-sensitive mocking.
Probability type inference for flexible approximate programming
Authors: Boston Brett , Sampson Adrian , Grossman Dan , Ceze Luis
Published: December 2015

In approximate computing, programs gain efficiency by allowing occasional errors. Controlling the probabilistic effects of this approximation remains a key challenge. We propose a new approach where programmers use a type system to communicate high-level constraints on the degree of approximation. A combination of type inference, code specialization, and optional dynamic tracking makes the system expressive and convenient. The core type system captures the probability that each operation exhibits an error and bounds the probability that each expression deviates from its correct value. Solver-aided type inference lets the programmer specify the correctness probability on only some variables—program outputs, for example—and automatically fills in other types to meet these specifications. An optional dynamic type helps cope with complex run-time behavior where static approaches are insufficient. Together, these features interact to yield a high degree of programmer control while offering a strong soundness guarantee. We use existing approximate-computing benchmarks to show how our language, DECAF, maintains a low annotation burden. Our constraint-based approach can encode hardware details, such as finite degrees of reliability, so we also use DECAF to examine implications for approximate hardware design. We find that multi-level architectures can offer advantages over simpler two-level machines and that solver-aided optimization improves efficiency.
FlashMeta: a framework for inductive program synthesis
Authors: Polozov Oleksandr , Gulwani Sumit
Published: December 2015

Inductive synthesis, or programming-by-examples (PBE) is gaining prominence with disruptive applications for automating repetitive tasks in end-user programming. However, designing, developing, and maintaining an effective industrial-quality inductive synthesizer is an intellectual and engineering challenge, requiring 1-2 man-years of effort. Our novel observation is that many PBE algorithms are a natural fall-out of one generic meta-algorithm and the domain-specific properties of the operators in the underlying domain-specific language (DSL). The meta-algorithm propagates example-based constraints on an expression to its subexpressions by leveraging associated witness functions, which essentially capture the inverse semantics of the underlying operator. This observation enables a novel program synthesis methodology called data-driven domain-specific deduction (D4), where domain-specific insight, provided by the DSL designer, is separated from the synthesis algorithm. Our FlashMeta framework implements this methodology, allowing synthesizer developers to generate an efficient synthesizer from the mere DSL definition (if properties of the DSL operators have been modeled). In our case studies, we found that 10+ existing industrial-quality mass-market applications based on PBE can be cast as instances of D4. Our evaluation includes reimplementation of some prior works, which in FlashMeta become more efficient, maintainable, and extensible. As a result, FlashMeta-based PBE tools are deployed in several industrial products, including Microsoft PowerShell 3.0 for Windows 10, Azure Operational Management Suite, and Microsoft Cortana digital assistant.
Optimizing hash-array mapped tries for fast and lean immutable JVM collections
Authors: Steindorfer Michael J. , Vinju Jurgen J.
Published: December 2015

The data structures under-pinning collection API (e.g. lists, sets, maps) in the standard libraries of programming languages are used intensively in many applications. The standard libraries of recent Java Virtual Machine languages, such as Clojure or Scala, contain scalable and well-performing immutable collection data structures that are implemented as Hash-Array Mapped Tries (HAMTs). HAMTs already feature efficient lookup, insert, and delete operations, however due to their tree-based nature their memory footprints and the runtime performance of iteration and equality checking lag behind array-based counterparts. This particularly prohibits their application in programs which process larger data sets. In this paper, we propose changes to the HAMT design that increase the overall performance of immutable sets and maps. The resulting general purpose design increases cache locality and features a canonical representation. It outperforms Scala’s and Clojure’s data structure implementations in terms of memory footprint and runtime efficiency of iteration (1.3–6.7x) and equality checking (3–25.4x).
Numerical Modeling of Force-Stiffness Response of Cross-Linked Actin Networks Using Tensegrity Systems
Authors: Xu Xian , Wang Yafeng , Luo Yaozhi
Published: December 2015

A three-dimensional tensegrity structure is used as a computational model for cross-linked actin networks. The postbuckling behavior of the members under compression is considered and the constitutive relation of the postbuckling members is modeled as a second-order polynomial. A numerical scheme incorporating the equivalent constitution of the postbuckling members is used to predict the structural response of the tensegrity model under compression loads. The numerical simulation shows that the stiffness of the tensegrity structure nonlinearly increases before member buckling and abruptly decreases to a lower level as soon as members buckle. This result qualitatively mimics the experimentally observed stiffness to compression stress response of cross-linked actin networks. In order to take member length variety into account, a large number of simulations with the length of buckling members varying in the given range are also carried out. It is found that the mean response of the simulations using different buckling member length exhibits more resemblance to the experimental observation.
Ultrasound Findings in Hand Joints Involvement in Patients with Psoriatic Arthritis and Its Correlation with Clinical DAS28 Score
Authors: Naranje Priyanka , Prakash Mahesh , Sharma Aman , Dogra Sunil , Khandelwal Niranjan
Published: December 2015

Objective. To determine the frequency of the various ultrasound findings in hand joints in patients with psoriatic arthritis and correlate grayscale and Power Doppler ultrasonography findings with Disease Activity Score 28.Methods. This prospective study was performed in 30 patients. Ultrasound evaluation of 28 joints of both hands was undertaken and various findings were recorded including synovial hypertrophy, Power Doppler abnormality, soft tissue thickening, tendonitis, joint effusion, periosteal reaction, and erosions. Composite ultrasound scores and Disease Activity Score 28 were calculated and compared. Spearman correlation was used to see relationship between the ultrasound and DAS28 scores.Results. Ultrasound detected more abnormalities in the hand joints than did clinical examination. The frequency of various ultrasound abnormalities was as follows: Synovial hypertrophy was seen in 100%, Power Doppler abnormality suggesting hypervascularity was seen in 36.7%, soft tissue thickening was seen in 66.7%, periosteal reaction was seen in 33.3%, erosions were seen in 30% (mostly in DIP and PIP joints), and flexor tendonitis was seen in 6.7% of patients. Significant correlation was found between Disease Activity Score 28 and grayscale joint score (GSJS) (Spearman’sρ: 0.499;P: 0.005), grayscale joint count (GSJC) (ρ: 0.398;P: 0.029), and Power Doppler joint score (PDJS) (ρ: 0.367;P: 0.046). There was a statistically significant difference between remission and low disease activity group and moderate disease activity group in terms of GSJC, GSJS, PDJC, and PDJS (P<0.05). These ultrasound measures were higher in moderate disease activity zone patients.Conclusion. Ultrasound is a useful modality for the objective assessment of psoriatic arthritis. Ultrasound including Power Doppler can be used as a modality for assessment of severity of psoriatic arthritis as it correlates with the clinical scoring.
FFT Bifurcation Analysis of Routes to Chaos via Quasiperiodic Solutions
Authors: Borkowski L. , Stefanski A.
Published: December 2015

The dynamics of a ring of seven unidirectionally coupled nonlinear Duffing oscillators is studied. We show that the FFT analysis presented in form of a bifurcation graph, that is, frequency distribution versus a control parameter, can provide a valuable and helpful complement to the corresponding typical bifurcation diagram and the course of Lyapunov exponents, especially in context of detailed identification of the observed attractors. As an example, bifurcation analysis of routes to chaos via 2-frequency and 3-frequency quasiperiodicity is demonstrated.
Optimization and Characterization of CMOS for Ultra Low Power Applications
Authors: Kafeel Mohd. Ajmal , Pable S. D. , Hasan Mohd. , Alam M. Shah
Published: December 2015

Aggressive voltage scaling into the subthreshold operating region holds great promise for applications with strict energy budget. However, it has been established that higher speed superthreshold device is not suitable for moderate performance subthreshold circuits. The design constraint for selectingVthandTOXis much more flexible for subthreshold circuits at low voltage level than superthreshold circuits. In order to obtain better performance from a device under subthreshold conditions, it is necessary to investigate and optimize the process and geometry parameters of a Si MOSFET at nanometer technology node. This paper calibrates the fabrication process parameters and electrical characteristics for n- and p-MOSFETs with 35 nm physical gate length. Thereafter, the calibrated device for superthreshold application is optimized for better performance under subthreshold conditions using TCAD simulation. The device simulated in this work shows 9.89% improvement in subthreshold slope and 34% advantage inION/IOFFratio for the same drive current.
Intermediate MCAD Deficiency Associated with a Novel Mutation of theACADMGene: c.1052C>T
Authors: Drendel Holli M. , Pike Jason E. , Schumacher Katherine , Ouyang Karen , Wang Jing , Stuy Mary , Dlouhy Stephen , Bai Shaochun
Published: December 2015

Medium-chain acyl-CoA dehydrogenase deficiency (MCADD) is an autosomal recessive disorder that leads to a defect in fatty acid oxidation.ACADMis the only candidate gene causing MCAD deficiency. A single nucleotide change, c.985A>G, occurring at exon 11 of theACADMgene, is the most prevalent mutation. In this study, we report a Caucasian family with multiple MCADD individuals. DNA sequence analysis of theACADMgene performed in this family revealed that two family members showing mild MCADD symptoms share the same novel change in exon 11, c.1052C>T, resulting in a threonine-to-isoleucine change. The replacement is a nonconservative amino acid change that occurs in the C-terminal all-alpha domain of the MCAD protein. Here we report the finding of a novel missense mutation, c.1052C>T (p.Thr326Ile), in theACADMgene. To our knowledge, c.1052C>T has not been previously reported in the literature or in any of the current databases we utilize. We hypothesize that this particular mutation in combination with p.Lys304Glu results in an intermediate clinical phenotype of MCADD.