240 research outputs found

    Who you gonna call? Analyzing Web Requests in Android Applications

    Full text link
    Relying on ubiquitous Internet connectivity, applications on mobile devices frequently perform web requests during their execution. They fetch data for users to interact with, invoke remote functionalities, or send user-generated content or meta-data. These requests collectively reveal common practices of mobile application development, like what external services are used and how, and they point to possible negative effects like security and privacy violations, or impacts on battery life. In this paper, we assess different ways to analyze what web requests Android applications make. We start by presenting dynamic data collected from running 20 randomly selected Android applications and observing their network activity. Next, we present a static analysis tool, Stringoid, that analyzes string concatenations in Android applications to estimate constructed URL strings. Using Stringoid, we extract URLs from 30, 000 Android applications, and compare the performance with a simpler constant extraction analysis. Finally, we present a discussion of the advantages and limitations of dynamic and static analyses when extracting URLs, as we compare the data extracted by Stringoid from the same 20 applications with the dynamically collected data

    Hyperfine characterization and coherence lifetime extension in Pr3+:La2(WO4)3

    Get PDF
    Rare-earth ions in dielectric crystals are interesting candidates for storing quantum states of photons. A limiting factor on the optical density and thus the conversion efficiency is the distortion introduced in the crystal by doping elements of one type into a crystal matrix of another type. Here, we investigate the system Pr3+:La2(WO4)3, where the similarity of the ionic radii of Pr and La minimizes distortions due to doping. We characterize the praseodymium hyperfine interaction of the ground state (3H4) and one excited state (1D2) and determine the spin Hamiltonian parameters by numerical analysis of Raman-heterodyne spectra, which were collected for a range of static external magnetic field strengths and orientations. On the basis of a crystal field analysis, we discuss the physical origin of the experimentally determined quadrupole and Zeeman tensor characteristics. We show the potential for quantum memory applications by measuring the spin coherence lifetime in a magnetic field that is chosen such that additional magnetic fields do not shift the transition frequency in first order. Experimental results demonstrate a spin coherence lifetime of 158 ms - almost three orders of magnitude longer than in zero field.Comment: 14 pages, 6 figure

    Incidental findings in cone beam computed tomography (CBCT) scans for implant treatment planning: a retrospective study of 404 CBCT scans.

    Get PDF
    OBJECTIVES To investigate the prevalence of incidental findings and need for further dental treatment and analyse the influence of size of field-of-view (FOV) and age in cone beam computed tomography (CBCT) for pre-implant planning. METHODS 404 CBCT scans were examined retrospectively for incidental findings and need for further dental treatment. Incidental finding-frequencies and need for further treatment were assessed for different age ( 60 years) and FOV groups (small, medium, large). Intraexaminer and interexaminer agreements were evaluated. RESULTS In 82% of the scans at least one incidental finding was found, with a total of 766 overall. More incidental findings were found in scans with large FOV (98% vs. 72%, OR = 22.39 large vs. small FOV, p  60 years (OR = 5.37 patient's age > 60 years vs. < 40 years, p = 0.0003). Further dental treatment due to incidental findings was needed in 31%. Scans with large FOV were more likely to entail further treatment (OR = 3.55 large vs. small FOV, p < 0.0001). Partial edentulism and large FOV were identified as risk factors for further treatment (p = 0.0003 and p < 0.0001). Further referral of the patient based on incidental findings was judged as indicated in 5%. Intra- and inter-examiner agreements were excellent (kappa = 0.944/0.805). CONCLUSIONS A considerable number of incidental findings with need for further dental treatment was found in partially edentulous patients and in patients > 60 years. In pre-implant planning of elderly patients, the selection of large FOV CBCT scans, including dentoalveolar regions not X-rayed recently, help to detect therapeutically relevant incidental findings

    Programming with Specifications

    Get PDF
    This thesis explores the use of specifications for the construction of correct programs. We go beyond their standard use as run-time assertions, and present algorithms, techniques and implementations for the tasks of 1) program verification, 2) declarative programming and 3) software synthesis. These results are made possible by our advances in the domains of decision procedure design and implementation. In the first part of this thesis, we present a decidability result for a class of logics that support user-defined recursive function definitions. Constraints in this class can encode expressive properties of recursive data structures, such as sortedness of a list, or balancing of a search tree. As a result, complex verification conditions can be stated concisely and solved entirely automatically. We also present a new decision procedure for a logic to reason about sets and constraints over their cardinalities. The key insight lies in a technique to decompose con- straints according to mutual dependencies. Compared to previous techniques, our algorithm brings significant improvements in running times, and for the first time integrates reasoning about cardinalities within the popular DPLL(T ) setting. We integrated our algorithmic ad- vances into Leon, a static analyzer for functional programs. Leon can reason about constraints involving arbitrary recursive function definitions, and has the desirable theoretical property that it will always find counter-examples to assertions that do not hold. We illustrate the flexibility and efficiency of Leon through experimental evaluation, where we used it to prove detailed correctness properties of data structure implementations. We then illustrate how program specifications can be used as a high-level programming construct ; we present Kaplan, an extension of Scala with first-class logical constraints. Kaplan allows programmers to create, manipulate and combine constraints as they would any other data structure. Our implementation of Kaplan illustrates how declarative programming can be incorporated into an existing mainstream programming language. Moreover, we examine techniques to transform, at compile-time, program specifications into efficient executable code. This approach of software synthesis combines the correctness benefits of declarative programming with the efficiency of imperative or functional programming

    Implicit and explicit self-esteem as predictors of reactive and proactive aggression in adolescent boys and girls

    Get PDF
    This study aims at examining gender differences and their association with implicit and explicit self-esteem (SE), and reactive and proactive aggression in adolescents. Hundred and eighteen adolescents (60 boys and 58 girls) performed the Implicit Association Test assessing implicit SE. The Rosenberg Self-Esteem scale was used to measure explicit SE. Reactive and proactive aggression were assessed with the self-report Reactive and Proactive Aggression Scale. Results showed that girls characterized by both low explicit and implicit SE (insecure SE), or by high explicit but low implicit SE (defensive SE), showed more reactive aggression than girls reporting high explicit and implicit SE (secure SE) or low explicit but high implicit SE (anxious SE). In contrast, none of these SE types were associated to reactive aggression in boys. Finally, no significant association was found between the different types of SE and proactive aggression, for both genders

    Phantm: PHP analyzer for type mismatch

    Get PDF
    We present Phantm, a static analyzer that uses a flow-sensitive analysis to detect type errors in PHP applications. Phantm can infer types for nested arrays, and can leverage runtime information and procedure summaries for more precise results. Phantm found over 200 true problems when applied to three applications with over 50'000 lines of code, including the popular DokuWiki code base

    On Static Analysis for Expressive Pattern Matching

    Get PDF
    Pattern matching is a widespread programming language construct that enables definitions of values by cases, generalizing if-then-else and case statements. The cases in a pattern matching expression should be exhaustive: when the value does not match any of the cases, the expression throws a run-time exception. Similarly, each pattern should be reachable, and, if possible, patterns should be disjoint to facilitate reasoning. Current compilers use simple analyses to check patterns. Such analyses ignore pattern guards, use static types to approximate possible expression values, and do not take into account properties of user-defined functions. We present a design and implementation of a new analysis of pattern matching expressions. Our analysis detects a wider class of errors and reports fewer false alarms than previous approaches. It checks disjointness, reachability, and exhaustiveness of patterns by expressing these conditions as formulas and proving them using decision procedures and theorem provers. It achieves precision by propagating possible values through nested expressions and approximating pattern-matching guards with formulas. It supports user-defined ``extractor'' functions in patterns by relying on specifications of relationships between the domains of such functions. The result is the first analysis that enables verified, declarative pattern matching with guards in the presence of data abstraction. We have implemented our analysis and describe our experience in checking a range of pattern matching expressions in a subset of the Scala programming language
    corecore