924 resultados para Android, interfacce, Java,


Relevância:

20.00% 20.00%

Publicador:

Resumo:

Context sensitive pointer analyses based on Whaley and Lam’s bddbddb system have been shown to scale to large Java programs. We provide a technique to incorporate flow sensitivity for Java fields into one such analysis and obtain an escape analysis based on it. First, we express an intraprocedural field flow sensitive analysis, using Fink et al.’s Heap Array SSA form in Datalog. We then extend this analysis interprocedurally by introducing two new φ functions for Heap Array SSA Form and adding deduction rules corresponding to them. Adding a few more rules gives us an escape analysis. We describe two types of field flow sensitivity: partial (PFFS) and full (FFFS), the former without strong updates to fields and the latter with strong updates. We compare these analyses with two different (field flow insensitive) versions of Whaley-Lam analysis: one of which is flow sensitive for locals (FS) and the other, flow insensitive for locals (FIS). We have implemented this analysis on the bddbddb system while using the SOOT open source framework as a front end. We have run our analysis on a set of 15 Java programs. Our experimental results show that the time taken by our field flow sensitive analyses is comparable to that of the field flow insensitive versions while doing much better in some cases. Our PFFS analysis achieves average reductions of about 23% and 30% in the size of the points-to sets at load and store statements respectively and discovers 71% more “caller-captured” objects than FIS.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information to produce better quality code and hence achieve higher performance. In a JIT compilation environment, the profile information obtained can be readily exploited in the same run to aid recompilation and optimization of frequently executed (hot) methods. This paper discusses a low overhead path profiling scheme for dynamically profiling AT produced native code. The profile information is used in recompilation during a subsequent invocation of the hot method. During recompilation tree regions along the hot paths are enlarged and instruction scheduling at the superblock level is performed. We have used the open source LaTTe AT compiler framework for our implementation. Our results on a SPARC platform for SPEC JVM98 benchmarks indicate that (i) there is a significant reduction in the number of tree regions along the hot paths, and (ii) profile aided recompilation in LaTTe achieves performance comparable to that of adaptive LaTTe in spite of retranslation and profiling overheads.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The Java Memory Model (JMM) provides a semantics of Java multithreading for any implementation platform. The JMM is defined in a declarative fashion with an allowed program execution being defined in terms of existence of "commit sequences" (roughly, the order in which actions in the execution are committed). In this work, we develop OpMM, an operational under-approximation of the JMM. The immediate motivation of this work lies in integrating a formal specification of the JMM with software model checkers. We show how our operational memory model description can be integrated into a Java Path Finder (JPF) style model checker for Java programs.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

The presence of software bloat in large flexible software systems can hurt energy efficiency. However, identifying and mitigating bloat is fairly effort intensive. To enable such efforts to be directed where there is a substantial potential for energy savings, we investigate the impact of bloat on power consumption under different situations. We conduct the first systematic experimental study of the joint power-performance implications of bloat across a range of hardware and software configurations on modern server platforms. The study employs controlled experiments to expose different effects of a common type of Java runtime bloat, excess temporary objects, in the context of the SPECPower_ssj2008 workload. We introduce the notion of equi-performance power reduction to characterize the impact, in addition to peak power comparisons. The results show a wide variation in energy savings from bloat reduction across these configurations. Energy efficiency benefits at peak performance tend to be most pronounced when bloat affects a performance bottleneck and non-bloated resources have low energy-proportionality. Equi-performance power savings are highest when bloated resources have a high degree of energy proportionality. We develop an analytical model that establishes a general relation between resource pressure caused by bloat and its energy efficiency impact under different conditions of resource bottlenecks and energy proportionality. Applying the model to different "what-if" scenarios, we predict the impact of bloat reduction and corroborate these predictions with empirical observations. Our work shows that the prevalent software-only view of bloat is inadequate for assessing its power-performance impact and instead provides a full systems approach for reasoning about its implications.

Relevância:

20.00% 20.00%

Publicador:

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Programming environments for smartphones expose a concurrency model that combines multi-threading and asynchronous event-based dispatch. While this enables the development of efficient and feature-rich applications, unforeseen thread interleavings coupled with non-deterministic reorderings of asynchronous tasks can lead to subtle concurrency errors in the applications. In this paper, we formalize the concurrency semantics of the Android programming model. We further define the happens-before relation for Android applications, and develop a dynamic race detection technique based on this relation. Our relation generalizes the so far independently studied happens-before relations for multi-threaded programs and single-threaded event-driven programs. Additionally, our race detection technique uses a model of the Android runtime environment to reduce false positives. We have implemented a tool called DROIDRACER. It generates execution traces by systematically testing Android applications and detects data races by computing the happens-before relation on the traces. We analyzed 1 5 Android applications including popular applications such as Facebook, Twitter and K-9 Mail. Our results indicate that data races are prevalent in Android applications, and that DROIDRACER is an effective tool to identify data races.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

El presente proyecto tiene como finalidad realizar aplicaciones de realidad aumentada en Android. Como al desarrollar dichas aplicaciones se han reutilizado librerías existentes implementadas en C++, también se ha realizado un estudio de las alternativas para poder incluirlas en una aplicación Android.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Helburuak: Ikasmaterial honen helburu nagusia ikasleek C-ko eta Java-ko klase teorikoetan lantzen dituzten ezagutzak sendotzea da. Norentzat: Programazioari buruzko lehen ezagutzak sendotu nahi dituen edozein ikasleei zuzenduta, baina bereziki telekomunikazio ikasketak egiten ari diren ikasleei.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Juego de reflejos y habilidad para dispositivos con SO Android. Este proyecto consiste en la creación de un juego utilizando todas las herramientas posibles proporcionadas por Android. El juego se diseñará en 2 dimensiones, contará de un menú inicial donde se podrá elegir entre las opciones; Jugar, Puntuaciones y Ayuda. La parte de jugar llevará todo el peso de la aplicación y es donde se desarrollará toda la acción. Habrá que hacer transiciones entre distintas pantallas para cada uno de los distintos mini juegos. Además, llevará la cuenta del tiempo transcurrido con un preciso cronometro. El reloj de parará cuando se hayan terminado todas las pruebas. Si ha superado alguno de los mejores tiempos, guardaremos el record en el lugar que le corresponde. La parte de las puntuaciones mostrará los cinco mejores tiempos realizados en el juego. Estos tiempos seguirán guardados aún reiniciando la aplicación. La parte de ayuda mostrará las instrucciones de cada prueba; donde, cuándo, y de qué manera tienes que pulsar en cada momento. Hay que tener en cuenta que esta aplicación de desarrollará para versiones de Android 2.1 o superiores, así que es necesario basarse en API’s para estas versiones, y que no se debe necesitar nada más que el archivo de instalación (.apk) para poder disfrutar de el juego en cualquier terminal.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

El objetivo principal de este proyecto es facilitar a aquellos usuarios con diversidades motrices el uso de sus dispositivos móviles con sistema Android a través de un barrido sobre la pantalla. Este barrido se realiza con dos ejes cartesianos que el usuario controla mediante cualquier periférico adaptado que posea y le permite decidir las coordenadas de la pantalla sobre las que desea interactuar.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Within the next few pages, I will try to give a wide description of the project that I have been doing for IK4-Ikerlan. For the last six months, I have been working in developing a socket-based application for Apple devices. These devices work under the iOS operative system, which is programmed in Objective-C, a language similar to C. Although I did not have the chance to develop this application for Apple TV, I was able to create an application for iPhone and another one for iPad. The only difference between both applications was the screen resolution, but we decided to make them separately, as it would be really hard to combine both resolutions, and wallpapers, everything in the same workspace. Finally, it is necessary to add that the main goal was not to create a new application for iOS, but to translate an Android application into iOS. To achieve this, it is required to translate Java code into Objective- C, which is the language used to develop applications for all kinds of Apple devices. Fortunately, there is a tool created by Google, which helped us with this exercise. This tool is called j2ObjC, and it is still being developed.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Proyecto de Fin de Carrera de Ingeniería Técnica en Informática de Sistemas de la Universidad del País Vasco. NavyWar: Capa de Negocio y Datos por Daniel Crego. Director: Germán Rigau. Proyecto conjunto: NavyWar, realizado en colaboración con Adrián Gil (NavyWar: Capa de presentación). Juego desarrollado para dispositivos Android basado en "Hundir la flota". Incluye modos de juego contra inteligencia artificial y para dos jugadores.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Proyecto realizado en colaboración con el Festival de cine de San Sebastián, en el que se ha desarrollado una aplicación nativa Android para la visualización de los contenidos propios del Festival como noticias, imágenes, vídeos y programación entre otros.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

En este proyecto se desarrolla un sistema capaz de garantizar la seguridad en un hogar o establecimiento, detectando cualquier acceso no deseado con sensores. También dispone de detectores de humo y otros gases. Como sistema disuasorio, cuenta con simulación de presencia para evitar intrusiones, por lo que también permite el control de luces y otros electrodomésticos. Todo el sistema se controla desde una aplicación en Android.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

El objetivo del proyecto es crear una aplicación Android usando la base de conocimiento multilingüe Multilingual Central Repository 3.0 (MCR 3.0).