24 research outputs found

    Detecting anomalous energy consumption in android applications

    Get PDF
    The use of powerful mobile devices, like smartphones, tablets and laptops, are changing the way programmers develop software. While in the past the primary goal to optimize software was the run time optimization, nowadays there is a growing awareness of the need to reduce energy consumption. This paper presents a technique and a tool to detect anomalous energy consumption in Android applications, and to relate it directly with the source code of the application. We propose a dynamically calibrated model for energy consumption for the Android ecosystem, and that supports different devices. The model is then used as an API to monitor the application execution: first, we instrument the application source code so that we can relate energy consumption to the application source code; second, we use a statistical approach, based on fault-localization techniques, to localize abnormal energy consumption in the source code

    Revisiting the Cache Miss Analysis of Multithreaded Algorithms

    Full text link

    A Core Calculus for Provenance

    Get PDF
    Provenance is an increasing concern due to the ongoing revolution in sharing and processing scientific data on the Web and in other computer systems. It is proposed that many computer systems will need to become provenanceaware in order to provide satisfactory accountability, reproducibility, and trust for scientific or other high-value data. To date, there is not a consensus concerning appropriate formal models or security properties for provenance. In previous work, we introduced a formal framework for provenance security and proposed formal definitions of properties called disclosure and obfuscation. In this article, we study refined notions of positive and negative disclosure and obfuscation in a concrete setting, that of a general-purpose programing language. Previous models of provenance have focused on special-purpose languages such as workflows and database queries. We consider a higher-order, functional language with sums, products, and recursive types and functions, and equip it with a tracing semantics in which traces themselves can be replayed as computations. We present an annotation-propagation framework that supports many provenance views over traces, including standard forms of provenance studied previously. We investigate some relationships among provenance views and develop some partial solutions to the disclosure and obfuscation problems, including correct algorithms for disclosure and positive obfuscation based on trace slicing.

    A consistent semantics of self-adjusting computation

    No full text
    This paper presents a semantics of self-adjusting computation and proves that the semantics is correct and consistent. The semantics integrates change propagation with the classic idea of memoization to enable reuse of computations under mutation to memory. During evaluation, reuse of a computation via memoization triggers a change propagation that adjusts the reused computation to reflect the mutated memory. Since the semantics combines memoization and change-propagation, it involves both non-determinism and mutation. Our consistency theorem states that the nondeterminism is not harmful: any two evaluations of the same program starting at the same state yield the same result. Our correctness theorem states that mutation is not harmful: self-adjusting programs are consistent with purely functional programming. We formalized the semantics and its meta-theory in the LF logical framework and machine-checked the proofs in Twelf.

    Non-monotonic Self-Adjusting Computation

    No full text

    Resource Oblivious Sorting on Multicores

    No full text
    Abstract. We present a new deterministic sorting algorithm that interleaves the partitioning of a sample sort with merging. Sequentially, it sorts n elements in O(n log n) time cache-obliviously with an optimal number of cache misses. The parallel complexity (or critical path length) of the algorithm is O(log n log log n), which improves on previous bounds for deterministic sample sort. Given a multicore computing environment with a global shared memory and p cores, each having a cache of size M organized in blocks of size B, our algorithm can be scheduled effectively on these p cores in a cache-oblivious manner. We improve on the above cache-oblivious processor-aware parallel implementation by using the Priority Work Stealing Scheduler (PWS) that we presented recently in a companion paper [12]. The PWS scheduler is both processor- and cache-oblivious (i.e., resource oblivious), and it tolerates asynchrony among the cores. Using PWS, we obtain a resource oblivious scheduling of our sorting algorithm that matches the performance of the processor-aware version. Our analysis includes the delay incurred by false-sharing. We also establish good bounds for our algorithm with the randomized work stealing scheduler.

    Effects of excess vitamin B6 intake on cerebral cortex neurons in rat: An ultrastructural study

    No full text
    The aim of this study was to investigate whether excess of vitamin B6 leads to ultrastructural changes in cerebral cortex of forty-eight healthy albino rats which were included in the study. Saline solution was injected to to the control groups (CG-10, n=12 for 10 days; CG-15, n=12 for 15 days; CG-20, n=12 for 20 days). The three experimental groups (EG-10, n=12; EG-15, n=12; EG-20, n=12) were treated with 5 mg/kg vitamin B6 daily for 10 days (EG-10), 15 days (EG-15) and 20 days (EG-20). Brain tissues were prepared by glutaraldehyde-osmium tetroxide double fixation for ultrastructural analysis. No significant changes were observed in the control groups. The ultrastructural analysis revealed that the numbers of damaged mitochondria, lipofuscin granules and vacuoles were significantly higher in all the experimental groups than in the control groups (p<0.05). However, synaptic density was significantly decreased in the experimental groups as compared to the control groups (p<0.05). The results suggest that the excess of vitamin B6 intake causes damage to the cerebral cortex due to cellular intoxication and decreased synaptic density. Thus, careful attention should be paid to the time and dose of vitamin B6 recommended for patients who are supplemented with this vitamin

    Toward a Theory of Self-Explaining Computation

    No full text
    Abstract. Provenance techniques aim to increase the reliability of human judgments about data by making its origin and derivation process explicit. Originally motivated by the needs of scientific databases and scientific computation, provenance has also become a major issue for business and government data on the Web. However, so far provenance has been studied only in relatively restrictive settings: typically, for data stored in databases or scientific workflow systems, and processed by query or workflow languages of limited expressiveness. Long-term provenance solutions require an understanding of provenance in other settings, particularly the general-purpose programming or scripting languages that are used to glue different components such as databases, Web services and workflows together. Moreover, what is required is not only an account of mechanisms for recording provenance, but also a theory of what it means for provenance information to explain or justify a computation. In this paper, we begin to outline a such a theory of self-explaining computation. We introduce a model of provenance for a simple imperative language based on operational derivations and explore its properties.
    corecore