Android Dalvik CPU. CPU Load Analysis Using Dalvik Bytecode on Android
|
|
- Francis Lloyd
- 5 years ago
- Views:
Transcription
1 Android Dalvik CPU Dalvik Android CPU Dalvik CPU CPU CPU CPU CPU Load Analysis Using Dalvik Bytecode on Android Takashi Majima, 1 Tetsuo Yokoyama, 2 Gang Zeng, 1 Takeshi Kamiyama, 3 Hiroyuki Tomiyama 1 and Hiroaki Takada 1 We present a CPU load analysis method on Android platform by using hardware-independent trace information of Dalvik bytecodes. For the purpose of analysis, methods for generating and executing micro-benchmarks which issue the sequence of each Dalvik bytecode are introduced. The experimental results showed that the CPU load of micro-benchmarks was largely affected by the types arguments of bytecodes. Specifically, the variation of CPU load was up to 67 times over the types and 10 times over the arguments of given bytecodes. Therefore, not only the number of issued bytecode but also the types of bytecode and given arguments should be considered to construct an accurate CPU load model. Through a case study, the effectiveness of our approach for reducing CPU load has been validated. 1. CPU CPU CPU CPU Android 5) Dalvik DalvikVM Java Java Android CPU CPU 2. Java JVM Binder 2) JVM JVMPI JVM Profiler 1, Graduate School of Information Science, Nagoya University 2, Faculty of Information Sciences and Engineering, Nanzan University 3 NTT, Research Laboratories, NTT DOCOMO, Inc. 1
2 Interface JVMTI JVM Tool Interface Java DalvikVM JProfiler 4) DalvikVM 3) Java CProf 3.3% CPU 3) Albert Java 1) CPU Android Java Java JVM DalvikVM Dalvik Java DEX class Dalvik CPU 3. CPU Dalvik CPU CPU CPU CPU CPU CPU 1.0E E E E E-06 CPU load 1.0E E E E E E-06 Num of loop 1.0E E E E E E E E E E E+08 Num of bytecode in a single loop 1 Android Dev Phone 1 1 CPU Fig. 1 CPU load for a single bytecode on Android Dev Phone E E E E E E-06 1 CPU CPU CPU Dalvik CPU CPU Dalvik smali 8) Dalvik CPU CPU 1 ADP1 move 1 CPU CPU
3 1 Dalvik Table 1 Dalvik bytecode families Opcode Mnemonic Purpose 00 nop Waste cycles 01-0c move* Move between registers 0d,27 throw,... Exception handling 0e-11 return* Return from a method 12-1c const* Constants to registers 1d-1e monitor-* Synchronization 1f-20 chech-cast, instance-of Type checking 21,23-26 *array* Array manipulation 22 new-instance Instance creation 28-2c,32-3d goto*,if-*,... Execution control 2d-31 cmp* Comparations aget*,aput* Read/write array elements 52-5f iget*,iput* Read/write member fields 60-6d sget*,sput* Read/write static fields 6e-72,74-78 invoke* Method invocation 7b-80,90-e2 add-*,mul-*,... Operations 81-8f *-to-* Type conversion 73,79-7a,e3-ff (unused) CPU 4B KB ADP1 32KB CPU % CPU System.currentTimeMillis() UTC CPU 4.2 CPU 3 SciMark 2.0 7) 5 Linpack Embedded CaffeineMark 3.0 6) 6 SciMark CPU 5 CPU SciMark Linpack 5. CPU 5.1 Android HTC Android Dev Phone 1 ADP1, Atmark Techno Armadillo-500 FX, Nokia N810 2 PC USB Android SDK adb shell CPU /proc/stat 100 CPU Java CPU 5.2 CPU CPU 2 3
4 & '(!" $# %!$ %! "! # "! # ' ( & "'#!! %& $! " $ $! " #! (a) SciMark 2.0 (b) Linpack (c) Embedded CaffeineMark Dalvik Fig. 2 Issued Dalvik bytecode percentages. 2 Table 2 Processor specification of each platform Target Android Dev Phone 1 Armadillo-500 FX N810 Processor Qualcomm MSM7201A Freescale i.mx31 TI OMAP 2420 CPU ARM1136EJ-S ARM1136JF-S ARM1136 Clock 528 MHz 532 MHz 400 MHz D / I cache 32 KB/32 KB 16 KB/16 KB 32 KB/32 KB L2 cache 128 KB SciMark Linpack Embedded CaffeineMark SciMark CaffeineMark 10 3 CPU JVM/x86 Java x86 JVM CPU Linpack CaffeineMark CPU CaffeineMark CPU JVM SciMark 2 CPU add, mul invoke CPU CPU x86 JVM DalvikVM JVM DalvikVM DalvikVM JVM JVM DalvikVM DalvikVM 5% CPU 4
5 JVM/x86 Emulator Atmark Techno Armadillo-500 Nokia N810 Android Dev Phone 1 3 CPU Table 3 Bytecode linearity against CPU load Bytecode CPU load Single Alternate 5000/5000 div-int cmpl-double const div-double double-to-long goto if-eq move neg-int not-int CaffeineMark3 Linpack SciMark2 3 CPU Fig. 3 CPU load of each benchmark in each hardware platform. 5.3 CPU CPU CPU 1 div-int 2 CPU CPU 5.3 CPU 5.0% CPU CPU 5.4 CPU CPU Dalvik CPU CPU Dalvik CPU CPU ADP1 CPU div-long(9e) 1.62e-06s CPU nop(00) 4.97e-08s 32.5 CPU N CPU long double 86, 8b, 9e-9f, ae-af52-5f 71 CPU nop b 32-3d int long double 7b-80, 91-e2 91-e2 CPU CPU 38-3d 63-6d 47-4a CPU CPU CPU CPU.937 5
6 1.8E E E E E E E E E E E E E E E E E E E E E+00 0x0 0x32 0x64 0x96 0xc8 Bytecode opcode 0.0E+00 0x0 0x32 0x64 0x96 0xc8 Bytecode opcode 0.0E+00 0x0 0x32 0x64 0x96 0xc8 Bytecode opcode (a) Android Dev Phone 1 (b) Armadillo-500 FX (c) N810 4 Fig. 4 CPU CPU load of each bytecode in each hardware device. CPU 1 CPU div-long(9e) rem-long(9f) 2 CPU CPU CPU CPU CPU CPU CPU CPU CPU 5.5 CPU CPU div-double r1, r2, r3 double r2 r3 r1 2 CPU [0, 64] CPU 2 (a) CPU (cmp-*,add/sub/mul-int/long) (b) CPU (*-float/double) (c) CPU (cmp?-*,div/rem-int/long) 3 5 Armadillo-500 (a) add-int 2 CPU (b) 6
7 0 8.0e e e e e e e e-08 Value of register Value of register 2 7.0e e e e e-09 Value of register 3 (divisor) Value of register 2 (dividend) 1.2e e e e e e e+00 Value of register 3 (divisor) Value of register 2 (dividend) 5.0e e e e e e e-08 (a) add-int (b) div-double (c) rem-double 5 CPU Fig. 5 CPU load variance caused by bytecode arguments. CPU div-double 2 CPU (c) rem-double 2 CPU CPU 2 CPU CPU div-double CPU CPU CPU (> ) CPU CPU div-double 2 0 CPU L div double 16 if r 3 is a multiple of 2 19 if r 2 = 0 or r 3 = 0 L div-double (r 2, r 3 ) = 30 if r 2 = r otherwise r 2, r 3 div-double div CPU 6 double, long, float, int CPU int, double 5 long CPU CPU CPU CPU 7
8 !! 5.6 " #$% " #$% #& ' " #$% ()&* " #$% +(), " )-. (/ ' Fig. 6 6 CPU CPU load variance caused by numeric types. 2 CPU SciMark double float CPU SciMark double 25% 2(a) double float CPU 30-90% 4(a) SciMark double float CPU 8-25% CPU 15% long x 2 ( 1 ) 2 double (double)(x / 2) ( 2 ) double 2 (double)x / 2 CPU double long 2 6 (2) CPU 2.85 CPU 6. Dalvik Android CPU Android Dev Phone 1, Armadillo-500 FX N810 1 CPU CPU CPU CPU CPU 1) Albert, E., Arenas, P., Genaim, S., Puebla, G. and Zanardini, D.: Cost Analysis of Java Bytecode, European Symposium on Programming, pp (2007). 2) Binder, W., Hulaas, J., Moret, P. and Villazon, A.: Platform-independent Profiling in a Virtual Execution Environment, Software Pract. Exper., Vol.39, No.1, pp (2009). 3) Binder, W., Schoeberl, M., Moret, P. and Villazon, A.: Cross-profiling for Embedded Java Processors, Proc. International Conference on Quantitative Evaluation of Systems, pp (2008). 4) ej technologies: JProfiler. overview.html. 5) Google Projects for Android. 6) Pendragon Software Corporation: CaffeineMark ru/cm30/. 7) SciMark ) smali. 8
9 SciMark CaffeineMark JVM/x86 Emulator Atmark Techno Armadillo-500 Nokia N810 Android Dev Phone CaffeineMark3 Linpack SciMark2 (a) JVM/x86 Emulator Atmark Techno Armadillo-500 Nokia N810 Android Dev Phone SciMark2 Linpack CaffeineMark3 (b) 3 CPU Fig. 3 CPU load of each benchmark in each hardware platform.
A Quantitative Evaluation of the Contribution of Native Code to Java Workloads
A Quantitative Evaluation of the Contribution of Native Code to Java Workloads Walter Binder University of Lugano Switzerland walter.binder@unisi.ch Jarle Hulaas, Philippe Moret EPFL Switzerland {jarle.hulaas,philippe.moret}@epfl.ch
More informationA Method-Based Ahead-of-Time Compiler For Android Applications
A Method-Based Ahead-of-Time Compiler For Android Applications Fatma Deli Computer Science & Software Engineering University of Washington Bothell November, 2012 2 Introduction This paper proposes a method-based
More informationSwift: A Register-based JIT Compiler for Embedded JVMs
Swift: A Register-based JIT Compiler for Embedded JVMs Yuan Zhang, Min Yang, Bo Zhou, Zhemin Yang, Weihua Zhang, Binyu Zang Fudan University Eighth Conference on Virtual Execution Environment (VEE 2012)
More information) Android. , Android. Android, ELF. Dexfuzz [1], DEX (Android. Android DEX. , Dexfuzz DEX, ,. DEX. (backend compiler), (IR), IR 2.
一般社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 IEICE Technical Report VLD2017-95(2018-02)
More informationUnderstanding the Dalvik bytecode with the Dedexer tool Gabor Paller
Understanding the Dalvik bytecode with the Dedexer tool Gabor Paller gaborpaller@gmail.com 2009.12.02 Background As we all know, Android is a Linux-Java platform. The underlying operating system is a version
More informationA Preliminary Workload Analysis of SPECjvm2008
A Preliminary Workload Analysis of SPECjvm2008 Hitoshi Oi The University of Aizu, Aizu Wakamatsu, JAPAN oi@oslab.biz Abstract SPECjvm2008 is a new benchmark program suite for measuring client-side Java
More informationParallelism of Java Bytecode Programs and a Java ILP Processor Architecture
Australian Computer Science Communications, Vol.21, No.4, 1999, Springer-Verlag Singapore Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture Kenji Watanabe and Yamin Li Graduate
More informationBinghamton University. CS-140 Fall Pippin
Pippin 1 Pippin Rick Decker and Stuart Hirshfield The Analytical Engine: An Introdution to Computer Science Using the Internet [1998] Imaginary Computer with a very simple architecture The final project
More informationPortable Resource Control in Java The J-SEAL2 Approach
Portable Resource Control in Java The J-SEAL2 Approach Walter Binder w.binder@coco.co.at CoCo Software Engineering GmbH Austria Jarle Hulaas Jarle.Hulaas@cui.unige.ch Alex Villazón Alex.Villazon@cui.unige.ch
More informationA Framework for Evaluating Mobile App Repackaging Detection Algorithms
A Framework for Evaluating Mobile App Repackaging Detection Algorithms Heqing Huang, PhD Candidate. Sencun Zhu, Peng Liu (Presenter) & Dinghao Wu, PhDs Repackaging Process Downloaded APK file Unpack Repackaged
More informationART JIT in Android N. Xueliang ZHONG Linaro ART Team
ART JIT in Android N Xueliang ZHONG Linaro ART Team linaro-art@linaro.org 1 Outline Android Runtime (ART) and the new challenges ART Implementation in Android N Tooling Performance Data & Findings Q &
More informationINVESTIGATING ANDROID BYTECODE EXECUTION ON JAVA VIRTUAL MACHINES
INVESTIGATING ANDROID BYTECODE EXECUTION ON JAVA VIRTUAL MACHINES A DISSERTATION SUBMITTED TO THE UNIVERSITY OF MANCHESTER FOR THE DEGREE OF MASTER OF SCIENCE IN THE FACULTY OF ENGINEERING AND PHYSICAL
More informationH.-S. Oh, B.-J. Kim, H.-K. Choi, S.-M. Moon. School of Electrical Engineering and Computer Science Seoul National University, Korea
H.-S. Oh, B.-J. Kim, H.-K. Choi, S.-M. Moon School of Electrical Engineering and Computer Science Seoul National University, Korea Android apps are programmed using Java Android uses DVM instead of JVM
More informationImproving Java Code Performance. Make your Java/Dalvik VM happier
Improving Java Code Performance Make your Java/Dalvik VM happier Agenda - Who am I - Java vs optimizing compilers - Java & Dalvik - Examples - Do & dont's - Tooling Who am I? (Mobile) Software Engineering
More informationPortable Resource Control in Java: Application to Mobile Agent Security
Portable Resource Control in Java: Application to Mobile Agent Security Walter Binder CoCo Software Engineering GmbH Austria Jarle Hulaas, Alex Villazón, Rory Vidal University of Geneva Switzerland Requirements
More informationAndroid Debugging ART
Android Debugging ART Khaled JMAL 2016 / 11 / 17 2 / 24 The Dalvik Virtual Machine Up to version 4.4 KitKat, Android was based on the Dalvik Virtual Machine Java compiles into DEX code DEX code is compiled
More informationA Comparative Study of JVM Implementations with SPECjvm2008
A Comparative Study of JVM Implementations with SPECjvm008 Hitoshi Oi Department of Computer Science, The University of Aizu Aizu-Wakamatsu, JAPAN Email: oi@oslab.biz Abstract SPECjvm008 is a new benchmark
More informationDalvik Bytecode Acceleration Using Fetch/Decode Hardware Extension
[DOI: 10.2197/ipsjjip.23.118] Regular Paper Dalvik Bytecode Acceleration Using Fetch/Decode Hardware Extension Surachai Thongkaew 1,a) Tsuyoshi Isshiki 1,b) Dongju Li 1,c) Hiroaki Kunieda 1,d) Received:
More informationReconstructing DALVIK. Applications. Marc Schönefeld CANSECWEST 2009, MAR18
Reconstructing DALVIK Applications Marc Schönefeld CANSECWEST 2009, MAR18 Motivation As a reverse engineer I have the tendency to look in the code that is running on my mobile device Coming from a JVM
More informationMetaVM: A Transparent Distributed Object System Supported by Runtime Compiler
MetaVM: A Transparent Distributed Object System Supported by Runtime Compiler Kazuyuki Shudo Yoichi Muraoka School of Science and Engineering Waseda University Okubo 3-4-1, Shinjuku-ku, Tokyo 169-8555,
More informationCompiling Techniques
Lecture 10: Introduction to 10 November 2015 Coursework: Block and Procedure Table of contents Introduction 1 Introduction Overview Java Virtual Machine Frames and Function Call 2 JVM Types and Mnemonics
More informationJapan Linux Symposium Daisuke Numaguchi Tetsuo Handa Giuseppe La Tona NTT DATA CORPORATION
Japan Linux Symposium 2009 2009.10.23 Daisuke Numaguchi Tetsuo Handa Giuseppe La Tona NTT DATA CORPORATION 1. INTRODUCTIONS Copyright (C) 2009 NTT Data Corporation 2 TOMOYO overview MAC implementation
More informationOn the Design of the Local Variable Cache in a Hardware Translation-Based Java Virtual Machine
On the Design of the Local Variable Cache in a Hardware Translation-Based Java Virtual Machine Hitoshi Oi The University of Aizu June 16, 2005 Languages, Compilers, and Tools for Embedded Systems (LCTES
More informationHardware Emulation and Virtual Machines
Hardware Emulation and Virtual Machines Overview Review of How Programs Run: Registers Execution Cycle Processor Emulation Types: Pure Translation Static Recompilation Dynamic Recompilation Direct Bytecode
More informationChapters 3. ARM Assembly. Embedded Systems with ARM Cortext-M. Updated: Wednesday, February 7, 2018
Chapters 3 ARM Assembly Embedded Systems with ARM Cortext-M Updated: Wednesday, February 7, 2018 Programming languages - Categories Interpreted based on the machine Less complex, not as efficient Efficient,
More informationPractical Malware Analysis
Practical Malware Analysis Ch 4: A Crash Course in x86 Disassembly Revised 1-16-7 Basic Techniques Basic static analysis Looks at malware from the outside Basic dynamic analysis Only shows you how the
More informationAgenda. CSE P 501 Compilers. Java Implementation Overview. JVM Architecture. JVM Runtime Data Areas (1) JVM Data Types. CSE P 501 Su04 T-1
Agenda CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Summer 2004 Java virtual machine architecture.class files Class loading Execution engines Interpreters & JITs various strategies
More informationCosimulation of ITRON-Based Embedded Software with SystemC
Cosimulation of ITRON-Based Embedded Software with SystemC Shin-ichiro Chikada, Shinya Honda, Hiroyuki Tomiyama, Hiroaki Takada Graduate School of Information Science, Nagoya University Information Technology
More informationWirtschaftsinformatik Skiseminar ao. Prof. Dr. Rony G. Flatscher. Seminar paper presentation Dennis Robert Stöhr
Android Programming Wirtschaftsinformatik Skiseminar ao. Prof. Dr. Rony G. Flatscher Seminar paper presentation Dennis Robert Stöhr 0453244 11.01.2011 Agenda Introduction Basics of Android Development
More informationCache-aware cross-profiling for java processors
Downloaded from orbit.dtu.dk on: Oct 10, 2018 Cache-aware cross-profiling for java processors Binder, Walter; Villazon, Alex; Schoeberl, Martin; Moret, Philippe Published in: Proceedings of the 2008 international
More informationzwange@gmu.edu, astavrou@gmu.edu What is Android?! Android delivers a complete set of software for mobile devices: an operating system, middleware and key mobile applications. -- http://android.com/about/!
More informationControl-Flow Refinment via Partial Evaluation
Control-Flow Refinment via Partial Evaluation Jesús Doménech 1, Samir Genaim 2, and John P. Gallagher 3 1 Universidad Complutense de Madrid, Spain jdomenec@ucm.es 2 Universidad Complutense de Madrid, Spain
More informationMethodHandlesArrayElementGetterBench.testCreate Analysis. Copyright 2016, Oracle and/or its affiliates. All rights reserved.
MethodHandlesArrayElementGetterBench.testCreate Analysis Overview Benchmark : nom.indy.methodhandlesarrayelementgetterbench.testcreate Results with JDK8 (ops/us) JDK8 Intel 234 T8 T8 with -XX:FreqInlineSize=325
More informationIntroduction to Android
Introduction to Android http://myphonedeals.co.uk/blog/33-the-smartphone-os-complete-comparison-chart www.techradar.com/news/phone-and-communications/mobile-phones/ios7-vs-android-jelly-bean-vs-windows-phone-8-vs-bb10-1159893
More informationINDEX. A SIMPLE JAVA PROGRAM Class Declaration The Main Line. The Line Contains Three Keywords The Output Line
A SIMPLE JAVA PROGRAM Class Declaration The Main Line INDEX The Line Contains Three Keywords The Output Line COMMENTS Single Line Comment Multiline Comment Documentation Comment TYPE CASTING Implicit Type
More informationManipulating Integers
Manipulating Integers Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE2030: Introduction to Computer Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)
More informationCS260 Intro to Java & Android 04.Android Intro
CS260 Intro to Java & Android 04.Android Intro Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Android - Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample
More informationFixed-Point Math and Other Optimizations
Fixed-Point Math and Other Optimizations Embedded Systems 8-1 Fixed Point Math Why and How Floating point is too slow and integers truncate the data Floating point subroutines: slower than native, overhead
More informationA Preliminary Workload Analysis of SPECjvm2008
A Preliminary Workload Analysis of SPECjvm2008 Hitoshi Oi The University of Aizu January 24, 2009 International Conference on Computer Engineering and Technology 2009 Outline Introduction: SPECjvm2008
More informationIJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN:
Friendly ARM MINI2440 & Dalvik Virtual Machine with Android Sangamesh Gama 1 and Manjula C 2 1 Assistant Professor, Department of Computer Science and Engineering, BKIT Bhalki, India 2 Associate Software
More informationData Types, Variables and Arrays. OOC 4 th Sem, B Div Prof. Mouna M. Naravani
Data Types, Variables and Arrays OOC 4 th Sem, B Div 2016-17 Prof. Mouna M. Naravani Identifiers in Java Identifiers are the names of variables, methods, classes, packages and interfaces. Identifiers must
More informationChapter Two MIPS Arithmetic
Chapter Two MIPS Arithmetic Computer Organization Review Binary Representation Used for all data and instructions Fixed size values: 8, 16, 32, 64 Hexadecimal Sign extension Base and virtual machines.
More informationCSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1
CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines
More informationAndroid System Development Training 4-day session
Android System Development Training 4-day session Title Android System Development Training Overview Understanding the Android Internals Understanding the Android Build System Customizing Android for a
More informationBasic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh
Basic Concepts COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals [Adapted from slides of
More informationCOL862 - Low Power Computing
COL862 - Low Power Computing Power Measurements using performance counters and studying the low power computing techniques in IoT development board (PSoC 4 BLE Pioneer Kit) and Arduino Mega 2560 Submitted
More informationJava language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS
Java language Part 1. Java fundamentals Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua What Java is? Programming language Platform: Hardware Software OS: Windows, Linux, Solaris,
More informationLecture 1 - Introduction to Android
Lecture 1 - Introduction to Android This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
More informationarxiv: v1 [cs.cr] 27 Dec 2018
Fine-grained Code Coverage Measurement in Automated Black-box Android Testing A Preprint arxiv:1812.10729v1 [cs.cr] 27 Dec 2018 Aleksandr Pilgun SnT, University of Luxembourg Luxembourg Olga Gadyatskaya
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationTHE ROAD NOT TAKEN. Estimating Path Execution Frequency Statically. ICSE 2009 Vancouver, BC. Ray Buse Wes Weimer
ICSE 2009 Vancouver, BC Ray Buse Wes Weimer THE ROAD NOT TAKEN Estimating Path Execution Frequency Statically The Big Idea 2 Developers often have a expectations about common and uncommon cases in programs
More informationResource Usage Analysis and its Application to Resource Certification (Part I)
Resource Usage Analysis and its Application to Resource Certification (Part I) Germán Puebla 1 joint work with Elvira Albert 2, Puri Arenas 2, Samir Genaim 2, and Damiano Zanardini 1 1 Technical University
More informationDevice driver development of an external human interaction device for the Android
International Journal of Networked and Distributed Computing, Vol. 1, No. 3 (August 2013), 159-166 Device driver development of an external human interaction device for the Android Naoto Ogawa 1, Shuichi
More informationART and Dalvik performance compared
ART and Dalvik performance compared Tobias Konradsson Tobias Konradsson VT 2015 Examensarbete, 15 hp Supervisor: Andrew Wallace Examiner: Jerry Eriksson Kandidatprogrammet i datavetenskap, 180 hp Abstract
More informationModeling the Android Platform
Modeling the Android Platform Étienne Payet LIM-ERIMIA, université de la Réunion BYTECODE 13 Saturday 23 March 2013 Étienne Payet (LIM-ERIMIA) Modeling the Android Platform BYTECODE 13 1 / 50 Reunion,
More informationYETI. GraduallY Extensible Trace Interpreter VEE Mathew Zaleski, Angela Demke Brown (University of Toronto) Kevin Stoodley (IBM Toronto)
YETI GraduallY Extensible Trace Interpreter Mathew Zaleski, Angela Demke Brown (University of Toronto) Kevin Stoodley (IBM Toronto) VEE 2007 1 Goal Create a VM that is more easily extended with a just
More informationSingle-Path Programming on a Chip-Multiprocessor System
Single-Path Programming on a Chip-Multiprocessor System Martin Schoeberl, Peter Puschner, and Raimund Kirner Vienna University of Technology, Austria mschoebe@mail.tuwien.ac.at, {peter,raimund}@vmars.tuwien.ac.at
More informationMobile OS. Symbian. BlackBerry. ios. Window mobile. Android
Ing. Elton Domnori December 7, 2011 Mobile OS Symbian BlackBerry Window mobile Android ios Mobile OS OS First release Last release Owner Android Android 1.0 September 2008 Android 4.0 May 2011 Open Handset
More informationCMPSC 497: Java Security
CMPSC 497: Java Security Trent Jaeger Systems and Internet Infrastructure Security (SIIS) Lab Computer Science and Engineering Department Pennsylvania State University 1 Enforcement Mechanisms Static mechanisms
More informationMidterm Exam. CSCI 2132: Software Development. March 4, Marks. Question 1 (10) Question 2 (10) Question 3 (10) Question 4 (10) Question 5 (5)
Banner number: Name: Midterm Exam CSCI 2132: Software Development March 4, 2019 Marks Question 1 (10) Question 2 (10) Question 3 (10) Question 4 (10) Question 5 (5) Question 6 (5) Total (50) Instructions:
More informationClass-Component Testability Analysis
Class-Component Testability Analysis SUPAPORN KANSOMKEAT Faculty of Engineering, Chulalongkorn University Bangkok, 10330, THAILAND WANCHAI RIVEPIBOON Faculty of Engineering, Chulalongkorn University Bangkok,
More informationIntroduction. PURPOSE: This course explains several important features of the i.mx21 microprocessor.
Introduction PURPOSE: This course explains several important features of the i.mx21 microprocessor. OBJECTIVES: - Describe the features and functions of the ARM926EJ-S TM Core - Explain three processor
More informationThe Impact of Write Back on Cache Performance
The Impact of Write Back on Cache Performance Daniel Kroening and Silvia M. Mueller Computer Science Department Universitaet des Saarlandes, 66123 Saarbruecken, Germany email: kroening@handshake.de, smueller@cs.uni-sb.de,
More informationReconstructing Dalvik applications
Reconstructing Dalvik applications Marc Schönefeld University of Bamberg HITB Dubai 2010 Marc Schönefeld (University of Bamberg) Reconstructing Dalvik applications HITB Dubai 2010 1 / 46 Pre-Talk Agenda
More informationCharacter Stream : It provides a convenient means for handling input and output of characters.
Be Perfect, Do Perfect, Live Perfect 1 1. What is the meaning of public static void main(string args[])? public keyword is an access modifier which represents visibility, it means it is visible to all.
More informationUnderstand the factors involved in instruction set
A Closer Look at Instruction Set Architectures Objectives Understand the factors involved in instruction set architecture design. Look at different instruction formats, operand types, and memory access
More information13. IN PORT: This is an ALP statement. PORT is the symbolic name given to 8-bit address of the input device available as a 2 nd byte of the
Lecture-23 IN PORT & OUT PORT: Data is transferred from the microprocessor to an output device in an output transfer and from an input device to the microprocessor in an input transfer. Output devices
More informationHardware-Supported Pointer Detection for common Garbage Collections
2013 First International Symposium on Computing and Networking Hardware-Supported Pointer Detection for common Garbage Collections Kei IDEUE, Yuki SATOMI, Tomoaki TSUMURA and Hiroshi MATSUO Nagoya Institute
More informationCompilers and Code Optimization EDOARDO FUSELLA
Compilers and Code Optimization EDOARDO FUSELLA Contents LLVM The nu+ architecture and toolchain LLVM 3 What is LLVM? LLVM is a compiler infrastructure designed as a set of reusable libraries with well
More informationContext Threading: A flexible and efficient dispatch technique for virtual machine interpreters
: A flexible and efficient dispatch technique for virtual machine interpreters Marc Berndl Benjamin Vitale Mathew Zaleski Angela Demke Brown Research supported by IBM CAS, NSERC, CITO 1 Interpreter performance
More informationRenderscript. Lecture May Android Native Development Kit. NDK Renderscript, Lecture 10 1/41
Renderscript Lecture 10 Android Native Development Kit 6 May 2014 NDK Renderscript, Lecture 10 1/41 RenderScript RenderScript Compute Scripts RenderScript Runtime Layer Reflected Layer Memory Allocation
More informationA Bytecode Interpreter for Secure Program Execution in Untrusted Main Memory
A Bytecode Interpreter for Secure Program Execution in Untrusted Main Memory Maximilian Seitzer, Michael Gruhn, Tilo Müller Friedrich Alexander Universität Erlangen-Nürnberg https://www1.cs.fau.de Introduction
More informationAndroid In Industrial Applications. A Field Report
Garz & Fricke Android In Industrial Applications A Field Report Android In Industrial Applications A Field Report Contents What we will talk about Garz & Fricke Company Overview Introduction to Android
More informationWhat is a VM? Categories of Virtual Machines. Process Virtual Machine 11/17/2010
What is a VM? Virtual Machines COMP755 An efficient, isolated duplicate of a real machine Current use includes virtual machines which have no direct correspondence to any real hardware Categories of Virtual
More informationEmbedded Device Cooperative System Using Java Bytecode Instrumentation
THE SCIENCE AND ENGINEERING REVIEW OF DOSHISHA UNIVERSITY, VOL. 51, NO. 1 April 2010 Embedded Device Cooperative System Using Java Bytecode Instrumentation Ryota AYAKI *, Kohei KADOWAKI *, Hideki SHIMADA
More informationAssembly language Simple, regular instructions building blocks of C, Java & other languages Typically one-to-one mapping to machine language
Assembly Language Readings: 2.1-2.7, 2.9-2.10, 2.14 Green reference card Assembly language Simple, regular instructions building blocks of C, Java & other languages Typically one-to-one mapping to machine
More informationOS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationSOEN228, Winter Revision 1.2 Date: October 25,
SOEN228, Winter 2003 Revision 1.2 Date: October 25, 2003 1 Contents Flags Mnemonics Basic I/O Exercises Overview of sample programs 2 Flag Register The flag register stores the condition flags that retain
More informationStatic Dalvik Bytecode Optimization for Android Applications
Static Dalvik Bytecode Optimization for Android Applications Jeehong Kim, Inhyeok Kim, Changwoo Min, Hyung Kook Jun, Soo Hyung Lee, Won-Tae Kim, and Young Ik Eom Since just-in-time (JIT) has considerable
More informationELEC 377 Operating Systems. Week 1 Class 2
Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.
More information1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?
1. What are the key components of Android Architecture? Android Architecture consists of 4 key components: - Linux Kernel - Libraries - Android Framework - Android Applications 2. What are the advantages
More informationDeepDroid: Dynamically Enforcing Enterprise Policy on Android Devices
DeepDroid: Dynamically Enforcing Enterprise Policy on Android Devices Xueqiang Wang 1, Kun Sun 2, Yuewu Wang 1, Jiwu Jing 1 1 Institute of Information Engineering, CAS 2 College of William and Mary Mon,
More informationHigh-Level Language VMs
High-Level Language VMs Outline Motivation What is the need for HLL VMs? How are these different from System or Process VMs? Approach to HLL VMs Evolutionary history Pascal P-code Object oriented HLL VMs
More informationAndroid App Protection via Interpretation Obfuscation
Android App Protection via Interpretation Obfuscation Junliang Shu, Juanru Li, Yuanyuan Zhang and Dawu Gu Lab of Cryptology and Computer Security Shanghai Jiao Tong University Shanghai, China, Abstract
More informationChapter 03. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1
Chapter 03 Authors: John Hennessy & David Patterson Copyright 2011, Elsevier Inc. All rights Reserved. 1 Figure 3.3 Comparison of 2-bit predictors. A noncorrelating predictor for 4096 bits is first, followed
More informationPace University. Fundamental Concepts of CS121 1
Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction
More informationSoftware Pipelining for Jetpipeline Architecture
Software Pipelining for Jetpipeline Architecture Masayuki Katahira, Takehito Sasaki, Hong Shen, Hiroaki Kobayashi and Tadao Nakamura Graduate School of Information Sciences Tohoku University, Sendai 980-77,
More informationHardware Accelerated Graphics for High Performance JavaFX Mobile Applications
Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Pavel Petroshenko, Sun Microsystems Jan Valenta, Sun Microsystems Jerry Evans, Sun Microsystems Goal of this Session Demonstrate
More informationPartitioning and Allocation of Scratch-Pad Memory for Priority-Based Preemptive Multi-Task Systems
Partitioning and Allocation of Scratch-Pad Memory for Priority-Based Preemptive Multi-Task Systems Hideki Takase, Hiroyuki Tomiyama and Hiroaki Takada Graduate School of Information Science, Nagoya University
More informationSlides for Lecture 6
Slides for Lecture 6 ENCM 501: Principles of Computer Architecture Winter 2014 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary 28 January,
More informationSecond Part of the Course
CSC 2400: Computer Systems Towards the Hardware 1 Second Part of the Course Toward the hardware High-level language (C) assembly language machine language (IA-32) 2 High-Level Language g Make programming
More informationAssembly language Simple, regular instructions building blocks of C, Java & other languages Typically one-to-one mapping to machine language
Assembly Language Readings: 2.1-2.7, 2.9-2.10, 2.14 Green reference card Assembly language Simple, regular instructions building blocks of C, Java & other languages Typically one-to-one mapping to machine
More informationNUMBER OPERATIONS. Mahdi Nazm Bojnordi. CS/ECE 3810: Computer Organization. Assistant Professor School of Computing University of Utah
NUMBER OPERATIONS Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 3810: Computer Organization Overview Homework 4 is due tonight Verify your uploaded file before the
More informationOOCFA2: A PDA-BASED HIGHER-ORDER FLOW ANALYSIS FOR OBJECT-ORIENTED PROGRAMS
OOCFA2: A PDA-BASED HIGHER-ORDER FLOW ANALYSIS FOR OBJECT-ORIENTED PROGRAMS A Thesis Presented to The Academic Faculty by Nicholas Alexander Marquez In Partial Fulfillment of the Requirements for the Degree
More informationA Hybrid Just-In-Time Compiler for Android
A Hybrid Just-In-Time Compiler for Android Comparing JIT Types and the Result of Cooperation ABSTRACT Guillermo A. Pérez National Tsing Hua University Hsinchu, Taiwan gaperez64@ sslab.cs.nthu.edu.tw Yeh-Ching
More informationVirtual Machine Tutorial
Virtual Machine Tutorial CSA2201 Compiler Techniques Gordon Mangion Virtual Machine A software implementation of a computing environment in which an operating system or program can be installed and run.
More informationChapter 3: Operating-System Structures
Chapter 3: Operating-System Structures System Components Operating System Services System Calls POSIX System Programs System Structure Virtual Machines System Design and Implementation System Generation
More informationEB-51 Low-Cost Emulator
EB-51 Low-Cost Emulator Development Tool for 80C51 Microcontrollers FEATURES Emulates 80C51 Microcontrollers and Derivatives Real-Time Operation up to 40 MHz 3.3V or 5V Voltage Operation Source-Level Debugger
More informationKULLEĠĠ SAN BENEDITTU Secondary School, Kirkop
KULLEĠĠ SAN BENEDITTU Secondary School, Kirkop Mark HALF YEARLY EXAMINATION 2014/2015 Level 5 6 7-8 Form 4 COMPUTING TIME: 1h 30min Question 1 2 3 4 5 6 7 8 9 Global Mark Max. Mark 8 5 7 10 8 12 13 16
More informationTHERMAL BENCHMARK AND POWER BENCHMARK SOFTWARE
Nice, Côte d Azur, France, 27-29 September 26 THERMAL BENCHMARK AND POWER BENCHMARK SOFTWARE Marius Marcu, Mircea Vladutiu, Horatiu Moldovan and Mircea Popa Department of Computer Science, Politehnica
More information