240 research outputs found
Who you gonna call? Analyzing Web Requests in Android Applications
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
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.
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
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
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
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
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
- …