bluuebunny/crossref_metadata_2025 huggingface dataset:
Context-Sensitive Affect Recognition for a Robotic Game Companion
Authors: Castellano Ginevra , Leite Iolanda , Pereira André , Martinho Carlos , Paiva Ana , Mcowan Peter W.
Published: July 2014

Social perception abilities are among the most important skills necessary for robots to engage humans in natural forms of interaction. Affect-sensitive robots are more likely to be able to establish and maintain believable interactions over extended periods of time. Nevertheless, the integration of affect recognition frameworks in real-time human-robot interaction scenarios is still underexplored. In this article, we propose and evaluate a context-sensitive affect recognition framework for a robotic game companion for children. The robot can automatically detect affective states experienced by children in an interactive chess game scenario. The affect recognition framework is based on the automatic extraction of task features and social interaction-based features. Vision-based indicators of the children’s nonverbal behaviour are merged with contextual features related to the game and the interaction and given as input to support vector machines to create a context-sensitive multimodal system for affect recognition. The affect recognition framework is fully integrated in an architecture for adaptive human-robot interaction. Experimental evaluation showed that children’s affect can be successfully predicted using a combination of behavioural and contextual data related to the game and the interaction with the robot. It was found that contextual data alone can be used to successfully predict a subset of affective dimensions, such as interest toward the robot. Experiments also showed that engagement with the robot can be predicted using information about the user’s valence, interest and anticipatory behaviour. These results provide evidence that social engagement can be modelled as a state consisting of affect and attention components in the context of the interaction.
Community sense and response systems
Authors: Faulkner Matthew , Clayton Robert , Heaton Thomas , Chandy K. Mani , Kohler Monica , Bunn Julian , Guy Richard , Liu Annie , Olson Michael , Cheng MingHei , Krause Andreas
Published: July 2014

The Caltech CSN project collects sensor data from thousands of personal devices for real-time response to dangerous earthquakes.
PneUI
Authors: Yao Lining
Published: July 2014

An elastic pneumatic interface takes its cues from living things.
Design of an Interactive Experience with Medieval Illuminations
Authors: Correia N. , Romão T. , Ricardo A. , Mota T. , Melo M. J. , Castro R. , Carvalho R. , Miranda A.
Published: July 2014

This article presents the design, implementation, and evaluation of an interactive installation to explore color in medieval illuminations and their context. The main goal of the installation is to promote wide dissemination of Portuguese medieval illuminations as well as to achieve engagement of the public in the conservation of this treasured heritage. The interactive installation is based on the experience and results obtained in a series of hands-on workshops, where “real” colored paints were produced using techniques and pigments similar to the originals.

The design and development process of the interactive installation was carried out by a multidisciplinary team in computer engineering, design, illustration, art history, history, chemistry, and conservation science. The installation, after several iterations on the content and technology, explores innovative computational interfaces and how they can be developed and used in cultural heritage. It has three components that work independently or as a full installation: (1) Virtual Scriptorium, (2) Interactive Panel, and (3) Augmented Book. The design rational, implementation, and evaluation of the modular installation are described, as well as how this work contributes to the wide dissemination of information on these extraordinary medieval manuscripts.
The rise of RaaS
Authors: Agmon Ben-Yehuda Orna , Ben-Yehuda Muli , Schuster Assaf , Tsafrir Dan
Published: July 2014

In the RaaS cloud, virtual machines trade in fine-grain resources on the fly.
Wearable Senses, Department of Industrial Design, TU Eindhoven
Authors: Tomico Oscar , Wensveen Stephan , Kuusk Kristi , ten Bhömer Martijn , Ahn René , Toeters Marina , Versteeg Maarten
Published: July 2014

As told by Oscar Tomico, Stephan Wensveen, Kristi Kuusk, Martijn ten Bhömer, René Ahn, Marina Toeters, and Maarten Versteeg
Building belonging
Authors: DiSalvo Carl , Gregg Melissa , Lodato Thomas
Published: July 2014

Community + Culture features practitioner perspectives on designing technologies for and with communities. We highlight compelling projects and provocative points of view that speak to both community technology practice and the interaction design field as a whole. ---
Christopher A. Le Dantec, Editor
A Retargetable Static Binary Translator for the ARM Architecture
Authors: Shen Bor-Yeh , Hsu Wei-Chung , Yang Wuu
Published: July 2014

Machines designed with new but incompatible Instruction Set Architecture (ISA) may lack proper applications. Binary translation can address this incompatibility by migrating applications from one legacy ISA to a new one, although binary translation has problems such as code discovery for variable-length ISA and code location issues for handling indirect branches. Dynamic Binary Translation (DBT) has been widely adopted for migrating applications since it avoids those problems. Static Binary Translation (SBT) is a less general solution and has not been actively researched. However, SBT performs more aggressive optimizations, which could yield more compact code and better code quality. Applications translated by SBT can consume less memory, processor cycles, and power than DBT and can be started more quickly. These advantages are even more critical for embedded systems than for general systems.

In this article, we designed and implemented a new SBT tool, called LLBT, which translates ARM instructions into LLVM IRs and then retargets the LLVM IRs to various ISAs, including ×86, ×86--64, ARM, and MIPS. LLBT leverages two important functionalities from LLVM: comprehensive optimizations and retargetability. More importantly, LLBT solves the code discovery problem for ARM/Thumb binaries without resorting to interpretation. LLBT also effectively reduced the size of the address mapping table, making SBT a viable solution for embedded systems. Our experiments based on the EEMBC benchmark suite show that the LLBT-generated code can run more than 6× and 2.3× faster on average than emulation with QEMU and HQEMU, respectively.
Ray-on, an On-Site Photometric Augmented Reality Device
Authors: Durand Emmanuel , Merienne Frederic , Pere Christian , Callet Patrick
Published: July 2014

As buildings from ancient times wither away or are transformed or destroyed, it becomes increasingly difficult to figure what it looked like back then. Virtual reality is a great tool to handle this role, although it often implies a three-dimensional model of a building disconnected from the remains. In this article, we present an on-site device dedicated to architectural heritage, which uses realistic photometric rendering associated with the reproduction of the user’s point of view in the virtual scene to immerse him in the uchronic virtual world while maintaining the link to the real site. This design is already in use at the old church of Cluny (France), where is it was welcomed by tourists and guides.
A Portable Optimization Engine for Accelerating Irregular Data-Traversal Applications on SIMD Architectures
Authors: Ren Bin , Mytkowicz Todd , Agrawal Gagan
Published: July 2014

Fine-grained data parallelism is increasingly common in the form of longer vectors integrated with mainstream processors (SSE, AVX) and various GPU architectures. This article develops support for exploiting such data parallelism for a class of nonnumeric, nongraphic applications, which perform computations while traversing many independent, irregular data structures. We address this problem by developing several novel techniques. First, for code generation, we develop an intermediate language for specifying such traversals, followed by a runtime scheduler that maps traversals to various SIMD units. Second, we observe that good data locality is crucial to sustained performance from SIMD architectures, whereas many applications that operate on irregular data structures (e.g., trees and graphs) have poor data locality. To address this challenge, we develop a set of data layout optimizations that improve spatial locality for applications that traverse many irregular data structures. Unlike prior data layout optimizations, our approach incorporates a notion of both interthread and intrathread spatial reuse into data layout. Finally, we enable performance portability (i.e., the ability to automatically optimize applications for different architectures) by accurately modeling the impact of inter- and intrathread locality on program performance. As a consequence, our model can predict which data layout optimization to use on a wide variety of SIMD architectures.

To demonstrate the efficacy of our approach and optimizations, we first show how they enable up to a 12X speedup on one SIMD architecture for a set of real-world applications. To demonstrate that our approach enables performance portability, we show how our model predicts the optimal layout for applications across a diverse set of three real-world SIMD architectures, which offers as much as 45% speedup over a suboptimal solution.
Revisiting LP-NUCA Energy Consumption
Authors: Gracia Darío Suárez , Ferrerón Alexandra , Campo Luis Montesano Del , Arnal Teresa Monreal , Yúfera Víctor Viñals
Published: July 2014

Cache working-set adaptation is key as embedded systems move to multiprocessor and Simultaneous Multithreaded Architectures (SMT) because interthread pollution harms system performance and battery life. Light-Power NUCA (LP-NUCA) is a working-set adaptive cache that depends on temporal-locality to save energy. This work identifies the sources of energy waste in LP-NUCAs: parallel access to the tag and data arrays of the tiles and low locality phases with useless block migration. To counteract both issues, we prove that switching to serial access reduces energy without harming performance and propose a machine learning Adaptive Drop Rate (ADR) controller that minimizes the amount of replacement and migration when locality is low.

This work demonstrates that these techniques efficiently adapt the cache drop and access policies to save energy. They reduce LP-NUCA consumption 22.7% for 1SMT. With interthread cache contention in 2SMT, the savings rise to 29%. Versus a conventional organization, energy--delay improves 20.8% and 25% for 1- and 2SMT benchmarks, and, in 65% of the 2SMT mixes, gains are larger than 20%.
An online auction framework for dynamic resource provisioning in cloud computing
Authors: Shi Weijie , Zhang Linquan , Wu Chuan , Li Zongpeng , Lau Francis C.M.
Published: July 2014

Auction mechanisms have recently attracted substantial attention as an efficient approach to pricing and resource allocation in cloud computing. This work, to the authors' knowledge, represents the first online combinatorial auction designed in the cloud computing paradigm, which is general and expressive enough to both (a) optimize system efficiency across the temporal domain instead of at an isolated time point, and (b) model dynamic provisioning of heterogeneous Virtual Machine (VM) types in practice. The final result is an online auction framework that is truthful, computationally efficient, and guarantees a competitive ratio ~
e
+ 1 over
e
-1 ~ 3.30 in social welfare in typical scenarios. The framework consists of three main steps: (1) a tailored primal-dual algorithm that decomposes the long-term optimization into a series of independent one-shot optimization problems, with an additive loss of 1 over
e
-1 in competitive ratio, (2) a randomized auction sub-framework that applies primal-dual optimization for translating a centralized co-operative social welfare approximation algorithm into an auction mechanism, retaining a similar approximation ratio while adding truthfulness, and (3) a primal-dual update plus dual fitting algorithm for approximating the one-shot optimization with a ratio λ close to e. The efficacy of the online auction framework is validated through theoretical analysis and trace-driven simulation studies. We are also in the hope that the framework, as well as its three independent modules, can be instructive in auction design for other related problems.
Energy procurement strategies in the presence of intermittent sources
Authors: Nair Jayakrishnan , Adlakha Sachin , Wierman Adam
Published: July 2014

The increasing penetration of intermittent, unpredictable renewable energy sources such as wind energy, poses significant challenges for utility companies trying to incorporate renewable energy in their portfolio. In this work, we study the problem of conventional energy procurement in the presence of intermittent renewable resources. We model the problem as a variant of the newsvendor problem, in which the presence of renewable resources induces supply side uncertainty, and in which conventional energy may be procured in three stages to balance supply and demand. We compute closed-form expressions for the optimal energy procurement strategy and study the impact of increasing renewable penetration, and of proposed changes to the structure of electricity markets. We explicitly characterize the impact of a growing renewable penetration on the procurement policy by considering a scaling regime that models the aggregation of unpredictable renewable sources. A key insight from our results is that there is a separation between the impact of the stochastic nature of this aggregation, and the impact of market structure and forecast accuracy. Additionally, we study the impact on procurement of two proposed changes to the market structure: the addition and the placement of an intermediate market. We show that addition of an intermediate market does not necessarily increase the efficiency of utilization of renewable sources. Further, we show that the optimal placement of the intermediate market is insensitive to the level of renewable penetration.
Movers and shakers
Authors: Gorlatova Maria , Sarik John , Grebla Guy , Cong Mina , Kymissis Ioannis , Zussman Gil
Published: July 2014

Numerous energy harvesting wireless devices that will serve as building blocks for the Internet of Things (IoT) are currently under development. However, there is still only limited understanding of the properties of various energy sources and their impact on energy harvesting adaptive algorithms. Hence, we focus on
characterizing the kinetic (motion) energy that can be harvested by a wireless node with an IoT form factor and on developing energy allocation algorithms
for such nodes. In this paper, we describe methods for estimating harvested energy from acceleration traces. To characterize the energy availability associated with specific human activities (e.g., relaxing, walking, cycling), we analyze a motion dataset with over 40 participants. Based on acceleration measurements that we collected for over 200 hours, we study energy generation processes associated with day-long human routines. We also briefly summarize our experiments with moving objects. We develop energy allocation algorithms that
take into account practical IoT node design considerations,
and evaluate the algorithms using the collected measurements. Our observations provide insights into the design of motion energy harvesters, IoT nodes, and energy harvesting adaptive algorithms.
Noise can help
Authors: Shahzad Muhammad , Liu Alex X.
Published: July 2014

With the growth in number and significance of the emerging applications that require extremely low latencies, network operators are facing increasing need to perform latency measurement on per-flow basis for network monitoring and troubleshooting. In this paper, we propose COLATE, the first per-flow latency measurement scheme that requires no probe packets and time stamping. Given a set of observation points, COLATE records packet timing information at each point so that later for any two points, it can accurately estimate the average and standard deviation of the latencies experienced by the packets of any flow in passing the two points. The key idea is that when recording packet timing information, COLATE purposely allows noise to be introduced for minimizing storage space, and when querying the latency of a target flow, COLATE uses statistical techniques to denoise and obtain an accurate latency estimate. COLATE is designed to be efficiently implementable on network middleboxes. In terms of processing overhead, COLATE performs only one hash and one memory update per packet. In terms of storage space, COLATE uses less than 0.1 bit per packet, which means that, on a backbone link with about half a million packets per second, using a 256GB drive, COLATE can accumulate time stamps of packets traversing the link for over 1.5 years. We evaluated COLATE using three real traffic traces that include a backbone traffic trace, an enterprise network traffic trace, and a data center traffic trace. Results show that COLATE always achieves the required reliability for any given confidence interval.
Stochastic bandits with side observations on networks
Authors: Buccapatnam Swapna , Eryilmaz Atilla , Shroff Ness B.
Published: July 2014

We study the stochastic multi-armed bandit (MAB) problem in the presence of side-observations across actions. In our model, choosing an action provides additional side observations for a subset of the remaining actions. One example of this model occurs in the problem of targeting users in online social networks where users respond to their friends's activity, thus providing information about each other's preferences. Our contributions are as follows: 1) We derive an asymptotic (with respect to time) lower bound (as a function of the network structure) on the regret (loss) of any
uniformly good policy
that achieves the maximum long term average reward. 2) We propose two policies - a randomized policy and a policy based on the well-known upper confidence bound (UCB) policies, both of which explore each action at a rate that is a function of its network position. We show that these policies achieve the asymptotic lower bound on the regret up to a multiplicative factor independent of network structure. The upper bound guarantees on the regret of these policies are better than those of existing policies. Finally, we use numerical examples on a real-world social network to demonstrate the significant benefits obtained by our policies against other existing policies.
On maximizing diffusion speed in social networks
Authors: Ok Jungseul , Jin Youngmi , Shin Jinwoo , Yi Yung
Published: July 2014

A variety of models have been proposed and analyzed to understand how a new innovation (e.g., a technology, a product, or even a behavior) diffuses over a social network, broadly classified into either of epidemic-based or game-based ones. In this paper, we consider a game-based model, where each individual makes a selfish, rational choice in terms of its payoff in adopting the new innovation, but with some noise. We study how diffusion effect can be maximized by seeding a subset of individuals (within a given budget), i.e., convincing them to pre-adopt a new innovation. In particular, we aim at finding `good' seeds for minimizing the time to infect all others, i.e.,diffusion speed maximization. To this end, we design polynomial-time approximation algorithms for three representative classes, Erdőos-Réenyi, planted partition and geometrically structured graph models, which correspond to globally well-connected, locally well-connected with large clusters and locally well-connected with small clusters, respectively, provide their performance guarantee in terms of approximation and complexity. First, for the dense Erdős-Rényi and planted partition graphs, we show that an arbitrary seeding and a simple seeding proportional to the size of clusters are almost optimal with high probability. Second, for geometrically structured sparse graphs, including planar andd-dimensional graphs, our algorithm that (a) constructs clusters, (b) seeds the border individuals among clusters, and (c) greedily seeds inside each cluster always outputs an almost optimal solution. We validate our theoretical findings with extensive simulations under a real social graph. We believe that our results provide new practical insights on how to seed over a social network depending on its connection structure, where individuals rationally adopt a new innovation. To our best knowledge, we are the first to study such diffusion speed maximization on the game-based diffusion, while the extensive research efforts have been made in epidemic-based models, often referred to asinfluence maximization.
Neighbor-cell assisted error correction for MLC NAND flash memories
Authors: Cai Yu , Yalcin Gulay , Mutlu Onur , Haratsch Erich F. , Unsal Osman , Cristal Adrian , Mai Ken
Published: July 2014

Continued scaling of NAND flash memory to smaller process technology nodes decreases its reliability, necessitating more sophisticated mechanisms to correctly read stored data values. To distinguish between different potential stored values, conventional techniques to read data from flash memory employ a single set of reference voltage values, which are determined based on the overall threshold voltage distribution of flash cells. Unfortunately, the phenomenon of program interference, in which a cell's threshold voltage unintentionally changes when a neighboring cell is programmed, makes this conventional approach increasingly inaccurate in determining the values of cells.

This paper makes the new empirical observation that identifying the value stored in the immediate-neighbor cell makes it easier to determine the data value stored in the cell that is being read. We provide a detailed statistical and experimental characterization of threshold voltage distribution of flash memory cells
conditional upon
the immediate-neighbor cell values, and show that such conditional distributions can be used to determine a set of read reference voltages that lead to error rates much lower than when a single set of reference voltage values based on the overall distribution are used. Based on our analyses, we propose a new method for correcting errors in a flash memory page, neighbor-cell assisted correction (NAC). The key idea is to re-read a flash memory page that fails error correction codes (ECC) with the set of read reference voltage values corresponding to the conditional threshold voltage distribution assuming a neighbor cell value and use the re-read values to correct the cells that have neighbors with that value. Our simulations show that NAC effectively improves flash memory lifetime by 33% while having no (at nominal lifetime) or very modest (less than 5% at extended lifetime) performance overhead.
Pricing data center demand response
Authors: Liu Zhenhua , Liu Iris , Low Steven , Wierman Adam
Published: July 2014

Demand response is crucial for the incorporation of renewable energy into the grid. In this paper, we focus on a particularly promising industry for demand response: data centers. We use simulations to show that, not only are data centers large loads, but they can provide as much (or possibly more) flexibility as large-scale storage if given the proper incentives. However, due to the market power most data centers maintain, it is difficult to design programs that are efficient for data center demand response. To that end, we propose that prediction-based pricing is an appealing market design, and show that it outperforms more traditional supply function bidding mechanisms in situations where market power is an issue. However, prediction-based pricing may be inefficient when predictions are inaccurate, and so we provide analytic, worst-case bounds on the impact of prediction error on the efficiency of prediction-based pricing. These bounds hold even when network constraints are considered, and highlight that prediction-based pricing is surprisingly robust to prediction error.
Jointly clustering rows and columns of binary matrices
Authors: Xu Jiaming , Wu Rui , Zhu Kai , Hajek Bruce , Srikant R. , Ying Lei
Published: July 2014

In standard clustering problems, data points are represented by vectors, and by stacking them together, one forms a data matrix with row or column cluster structure. In this paper, we consider a class of binary matrices, arising in many applications, which exhibit both row and column cluster structure, and our goal is to exactly recover the underlying row and column clusters by observing only a small fraction of noisy entries. We first derive a lower bound on the minimum number of observations needed for exact cluster recovery. Then, we study three algorithms with different running time and compare the number of observations needed by them for successful cluster recovery. Our analytical results show smooth time-data trade offs: one can gradually reduce the computational complexity when increasingly more observations are available.
Non-intrusive, out-of-band and out-of-the-box systems monitoring in the cloud
Authors: Suneja Sahil , Isci Canturk , Bala Vasanth , de Lara Eyal , Mummert Todd
Published: July 2014

The dramatic proliferation of virtual machines (VMs) in datacenters and the highly-dynamic and transient nature of VM provisioning has revolutionized datacenter operations. However, the management of these environments is still carried out using re-purposed versions of traditional agents, originally developed for managing physical systems, or most recently via newer virtualization-aware alternatives that require guest cooperation and accessibility. We show that these existing approaches are a poor match for monitoring and managing (virtual) systems in the cloud due to their dependence on guest cooperation and operational health, and their growing lifecycle management overheads in the cloud.

In this work, we first present
Near Field Monitoring
(NFM), our non-intrusive, out-of-band cloud monitoring and analytics approach that is designed based on cloud operation principles and to address the limitations of existing techniques. NFM decouples system execution from monitoring and analytics functions by pushing monitoring out of the targets systems' scope. By leveraging and extending VM introspection techniques, our framework provides simple, standard interfaces to monitor running systems in the cloud that require no guest cooperation or modification, and have minimal effect on guest execution. By decoupling monitoring and analytics from target system context, NFM provides ``always-on'' monitoring, even when the target system is unresponsive. NFM also works ``out-of-the-box'' for any cloud instance as it eliminates any need for installing and maintaining agents or hooks in the monitored systems. We describe the end-to-end implementation of our framework with two real-system prototypes based on two virtualization platforms. We discuss the new cloud analytics opportunities enabled by our decoupled execution, monitoring and analytics architecture. We present four applications that are built on top of our framework and show their use for across-time and across-system analytics.
Unleashing the potentials of dynamism for page allocation strategies in SSDs
Authors: Tavakkol Arash , Arjomand Mohammad , Sarbazi-Azad Hamid
Published: July 2014

In Solid-State Drives (SSDs) with tens of flash chips and highly parallel architecture, we can speed up I/O operations by well-utilizing resources during page allocation. Proposals already exist for using static page allocation which does not balance the IO load and its efficiency depends on access address patterns. To our best knowledge, there have been no research thus far to show what happens if one or more internal resources can be freely allocated regardless of the request address. This paper explores the possibility of using different degrees of dynamism in page allocation and identifies key design opportunities that they present to improve SSD's characteristics.
Automated analysis of multithreaded programs for performance modeling
Authors: Tarvo Alexander , Reiss Steven P.
Published: July 2014

We present an approach for building performance models of multithreaded programs automatically. We use a combination of static and a dynamic analyses of a single representative run of the program to build its model. The model can predict performance of the program under a variety of configurations. This paper outlines how we construct the model and demonstrates how the resultant models accurately predict the performance %and resource utilization of complex multithreaded programs.
Topic modeling from network spread
Authors: Ray Avik , Sanghavi Sujay , Shakkottai Sanjay
Published: July 2014

Topic modeling refers to the task of inferring, only from data, the abstract ``topics" that occur in a collection of content. In this paper we look at latent topic modeling in a setting where unlike traditional topic modeling (a) there are no/few features (like words in documents) that are directly indicative of content topics (e.g. un-annotated videos and images, URLs etc.), but (b) users share and view content over a social network. We provide a new algorithm for inferring both the topics in which every user is interested, and thus also the topics in each content piece. We study its theoretical performance and demonstrate its empirical effectiveness over standard topic modeling algorithms.
Accurate and robust time reconstruction for deployed sensor networks
Authors: Dong Wei , Zhang Xuefeng , Wang Jiliang , Gao Yi , Chen Chun , Bu Jiajun
Published: July 2014

The notion of global time is of great importance for many sensor network applications. To achieve microsecond accuracy, MAC-level timestamping is required for recording packet transmission and reception times. The MAC-level timestamps, however, are known to be error-prone, especially with low power listening techniques. In this paper, we propose ART, an accurate and robust time reconstruction approach to detecting invalid timestamps and recovering the needed information. We evaluate our approach in both testbed and a real-world deployment. Results show ART is accurate and robust for deployed sensor networks.
Effect of proactive serving on user delay reduction in service systems
Authors: Zhang Shaoquan , Huang Longbo , Chen Minghua , Liu Xin
Published: July 2014

In online service systems, delay experienced by a user from the service request to the service completion is one of the most critical performance metrics. To improve user delay experience, in this paper, we investigate a novel aspect of system design:
proactive serving
, where the system can predict future user request arrivals and allocate its capacity to serve these upcoming requests proactively. In particular, we investigate the average user delay under proactive serving from a queuing theory perspective. We show that proactive serving reduces the average user delay
exponentially
(as a function of the prediction window size) under M/M/1 queueing models. Our simulation results show that, for G/G/1 queueing models, the average user delay also decreases significantly under proactive serving.
TS-CLOCK
Authors: Kang Dong Hyun , Min Changwoo , Eom Young Ik
Published: July 2014

NAND flash storage is widely adopted in all classes of computing devices. However, random write performance and lifetime issues remain to be addressed. In this paper, we propose a novel buffer replacement algorithm called TS-CLOCK that effectively resolves the remaining problems. Our experimental results show that TS-CLOCK outperforms state-of-the-art algorithms in terms of performance and lifetime.
Conquering big data with spark and BDAS
Authors: Stoica Ion
Published: July 2014

Today, big and small organizations alike collect huge amounts of data, and they do so with one goal in mind: extract "value" through sophisticated exploratory analysis, and use it as the basis to make decisions as varied as personalized treatment and ad targeting. Unfortunately, existing data analytics tools are slow in answering queries, as they typically require to sift through huge amounts of data stored on disk, and are even less suitable for complex computations, such as machine learning algorithms. These limitations leave the potential of extracting value of big data unfulfilled.

To address this challenge, we are developing Berkeley Data Analytics Stack (BDAS), an open source data analytics stack that provides interactive response times for complex computations on massive data. To achieve this goal, BDAS supports efficient, large-scale in-memory data processing, and allows users and applications to trade between query accuracy, time, and cost. In this talk, I'll present the architecture, challenges, results, and our experience with developing BDAS, with a focus on Apache Spark, an in-memory cluster computing engine that provides support for a variety of workloads, including batch, streaming, and iterative computations. In a relatively short time, Spark has become the most active big data project in the open source community, and is already being used by over one hundred of companies and research institutions.
Template constructors for reusable object initialization
Authors: Martin Marko , Mezini Mira , Erdweg Sebastian
Published: July 2014

Reuse of and abstraction over object initialization logic is not properly supported in mainstream object-oriented languages. This may result in significant amount of boilerplate code and proliferation of constructors in subclasses. It also makes it impossible for mixins to extend the initialization interface of classes they are applied to. We propose
template constructors
, which employ template parameters and pattern matching of them against signatures of superclass constructors to enable a one-to-many binding of super-calls. We demonstrate how template constructors solve the aforementioned problems. We present a formalization of the concept, a Java-based implementation, and use cases which exercise its strengths.
Does the discipline of preprocessor annotations matter?
Authors: Schulze Sandro , Liebig Jörg , Siegmund Janet , Apel Sven
Published: July 2014

The C preprocessor (
CPP
) is a simple and language-independent tool, widely used to implement variable software systems using conditional compilation (i.e., by including or excluding annotated code). Although
CPP
provides powerful means to express variability, it has been criticized for allowing arbitrary annotations that break the underlying structure of the source code. We distinguish between
disciplined
annotations, which align with the structure of the source code, and
undisciplined
annotations, which do not. Several studies suggest that especially the latter type of annotations makes it hard to (automatically) analyze the code. However, little is known about whether the type of annotations has an effect on program comprehension. We address this issue by means of a controlled experiment with human subjects. We designed similar tasks for both, disciplined and undisciplined annotations, to measure program comprehension. Then, we measured the performance of the subjects regarding correctness and response time for solving the tasks. Our results suggest that there are no differences between disciplined and undisciplined annotations from a program-comprehension perspective. Nevertheless, we observed that finding and correcting errors is a time-consuming and tedious task in the presence of preprocessor annotations.
Model-driven generative framework for automated OMG DDS performance testing in the cloud
Authors: An Kyoungho , Kuroda Takayuki , Gokhale Aniroddha , Tambe Sumant , Sorbini Andrea
Published: July 2014

The Object Management Group's (OMG) Data Distribution Service (DDS) provides many configurable policies which determine end-to-end quality of service (QoS) of applications. It is challenging to predict the system's performance in terms of latencies, throughput, and resource usage because diverse combinations of QoS configurations influence QoS of applications in different ways. To overcome this problem, design-time formal methods have been applied with mixed success, but lack of sufficient accuracy in prediction, tool support, and understanding of formalism has prevented wider adoption of the formal techniques. A promising approach to address this challenge is to emulate system behavior and gather data on the QoS parameters of interest by experimentation. To realize this approach, which is preferred over formal methods due to their limitations in accurately predicting QoS, we have developed a model-based automatic performance testing framework with generative capabilities to reduce manual efforts in generating a large number of relevant QoS configurations that can be deployed and tested on a cloud platform. This paper describes our initial efforts in developing and using this technology.
Supporting large scale model transformation reuse
Authors: Basso Fábio Paulo , Pillat Raquel Mainardi , Oliveira Toacy Cavalcante , Becker Leandro Buss
Published: July 2014

The growth of applications developed with the support of model transformations makes reuse a required practice, specially when applied to transformation assets (e.g. transformation chains, algorithms, and configuration files). In order to promote reuse one must consider the different implementations, communalities, and variants among these assets. In this domain, a couple techniques have been used as solutions to adapt reusable assets for specific needs. However, so far, no work has discussed their combined use in real software projects. In this paper, we present a new tool named WCT, which can be used to adapt transformation assets. Moreover, through lessons learned in industry, we address some reuse techniques devoted to adapt these assets.
ShadowVM
Authors: Marek Lukáš , Kell Stephen , Zheng Yudi , Bulej Lubomír , Binder Walter , Tůma Petr , Ansaloni Danilo , Sarimbekov Aibek , Sewe Andreas
Published: July 2014

Dynamic analysis tools are often implemented using instrumentation, particularly on managed runtimes including the Java Virtual Machine (JVM). Performing instrumentation robustly is especially complex on such runtimes: existing frameworks offer limited coverage and poor isolation, while previous work has shown that apparently innocuous instrumentation can cause deadlocks or crashes in the observed application. This paper describes ShadowVM, a system for instrumentation-based dynamic analyses on the JVM which combines a number of techniques to greatly improve both isolation and coverage. These centre on the offload of analysis to a separate process; we believe our design is the first system to enable genuinely full bytecode coverage on the JVM. We describe a working implementation, and use a case study to demonstrate its improved coverage and to evaluate its runtime overhead.
Investigating preprocessor-based syntax errors
Authors: Medeiros Flávio , Ribeiro Márcio , Gheyi Rohit
Published: July 2014

The C preprocessor is commonly used to implement variability in program families. Despite the widespread usage, some studies indicate that the C preprocessor makes variability implementation difficult and error-prone. However, we still lack studies to investigate preprocessor-based syntax errors and quantify to what extent they occur in practice. In this paper, we define a technique based on a variability-aware parser to find syntax errors in releases and commits of program families. To investigate these errors, we perform an empirical study where we use our technique in 41 program family releases, and more than 51 thousand commits of 8 program families. We find 7 and 20 syntax errors in releases and commits of program families, respectively. They are related not only to incomplete annotations, but also to complete ones. We submit 8 patches to fix errors that developers have not fixed yet, and they accept 75% of them. Our results reveal that the time developers need to fix the errors varies from days to years in family repositories. We detect errors even in releases of well-known and widely used program families, such as
Bash, CVS
and
Vim
. We also classify the syntax errors into 6 different categories. This classification may guide developers to avoid them during development.
Declarative visitors to ease fine-grained source code mining with full history on billions of AST nodes
Authors: Dyer Robert , Rajan Hridesh , Nguyen Tien N.
Published: July 2014

Software repositories contain a vast wealth of information about software development. Mining these repositories has proven useful for detecting patterns in software development, testing hypotheses for new software engineering approaches, etc. Specifically, mining source code has yielded significant insights into software development artifacts and processes. Unfortunately, mining source code at a large-scale remains a difficult task. Previous approaches had to either limit the scope of the projects studied, limit the scope of the mining task to be more coarse-grained, or sacrifice studying the history of the code due to both human and computational scalability issues. In this paper we address the substantial challenges of mining source code: a) at a very large scale; b) at a fine-grained level of detail; and c) with full history information.

To address these challenges, we present domain-specific language features for source code mining. Our language features are inspired by object-oriented visitors and provide a default depth-first traversal strategy along with two expressions for defining custom traversals. We provide an implementation of these features in the Boa infrastructure for software repository mining and describe a code generation strategy into Java code. To show the usability of our domain-specific language features, we reproduced over 40 source code mining tasks from two large-scale previous studies in just 2 person-weeks. The resulting code for these tasks show between 2.0x--4.8x reduction in code size. Finally we perform a small controlled experiment to gain insights into how easily mining tasks written using our language features can be understood, with no prior training. We show a substantial number of tasks (77%) were understood by study participants, in about 3 minutes per task.
Efficient high-level abstractions for web programming
Authors: Richard-Foy Julien , Barais Olivier , Jézéquel Jean-Marc
Published: July 2014

Writing large Web applications is known to be difficult. One challenge comes from the fact that the application's logic is scattered into heterogeneous clients and servers, making it difficult to share code between both sides or to move code from one side to the other. Another challenge is performance: while Web applications rely on ever more code on the client-side, they may run on smart phones with limited hardware capabilities. These two challenges raise the following problem: how to benefit from high-level languages and libraries making code complexity easier to manage and abstracting over the clients and servers differences without trading this ease of engineering for performance? This article presents high-level abstractions defined as deep embedded DSLs in Scala that can generate efficient code leveraging the characteristics of both client and server environments. We compare performance on client-side against other candidate technologies and against hand written low-level JavaScript code. Though code written with our DSL has a high level of abstraction, our benchmark on a real world application reports that it runs as fast as hand tuned low-level JavaScript code.
Spiral in scala
Authors: Ofenbeck Georg , Rompf Tiark , Stojanov Alen , Odersky Martin , Püschel Markus
Published: July 2014

Program generators for high performance libraries are an appealing solution to the recurring problem of porting and optimizing code with every new processor generation, but only few such generators exist to date. This is due to not only the difficulty of the design, but also of the actual implementation, which often results in an ad-hoc collection of standalone programs and scripts that are hard to extend, maintain, or reuse. In this paper we ask whether and which programming language concepts and features are needed to enable a more systematic construction of such generators. The systematic approach we advocate extrapolates from existing generators: a) describing the problem and algorithmic knowledge using one, or several, domain-specific languages (DSLs), b) expressing optimizations and choices as rewrite rules on DSL programs, c) designing data structures that can be configured to control the type of code that is generated and the data representation used, and d) using autotuning to select the best-performing alternative. As a case study, we implement a small, but representative subset of Spiral in Scala using the Lightweight Modular Staging (LMS) framework. The first main contribution of this paper is the realization of c) using type classes to abstract over staging decisions, i.e. which pieces of a computation are performed immediately and for which pieces code is generated. Specifically, we abstract over different complex data representations jointly with different code representations including generating loops versus unrolled code with scalar replacement - a crucial and usually tedious performance transformation. The second main contribution is to provide full support for a) and d) within the LMS framework: we extend LMS to support translation between different DSLs and autotuning through search.
Interactive sensory objects for and by people with learning disabilities
Authors: Hollinworth Nic , Allen Kate , Kwiatkowska Gosia , Minnion Andy , Hwang Faustina
Published: July 2014

This project engages people with learning disabilities as co-researchers and co-designers in the development of multisensory interactive artworks, with the aim of making museums or heritage sites more interesting, meaningful, and fun. This article describes our explorations, within this context, of a range of technologies including squishy circuits, littleBits, and easy-build websites, and presents examples of objects created by the co-researchers such as "sensory boxes" and interactive buckets, baskets, and boots. Public engagement is an important part of the project and includes an annual public event and seminar day, a blog rich with photos and videos of the workshops, and an activities book to give people ideas for creating their own sensory explorations of museums and heritage sites.
Towards improving access to math and science lecture material for visually impaired students via iOS support
Authors: Ludi Stephanie
Published: July 2014

In this paper we describe a series of exploratory studies conducted as part of the development of AccessLacture, an iOS-based system that is designed to help visually impaired students access math or science lecture material in and out of the classroom. The instructor writes material on the whiteboard, via the Mimio Capture system, using standard whiteboard markers. The lecture material is sent as written strokes that the iOS app displays for the student in real-time. Students can adjust the size and contrast of the material, as well as write notes on the lecture itself for later viewing. The access to lecture provided by the system provides students the ability to follow an active lecture that can facilitate more class participation. In order to support student needs, students, instructors and the classroom environment itself were studied.