Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Android Model

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn: Internet
Người gửi: Nguyễn Tuấn Kiệt
Ngày gửi: 10h:21' 30-12-2013
Dung lượng: 3.1 MB
Số lượt tải: 11
Số lượt thích: 0 người
Dragonfly: Encapsulating Android for Instrumentation
University of Málaga
Ana Rosario Espada
María del Mar Gallardo
Damián Adalid

Index
Introduction
Android Overview
Formalization
Dragonfly Design
Static Monitor
Dynamic Monitor
Conclusions
2
INTRODUCTION
A Runtime Verification Framework for ANDROID Applications
3

Introduction
More than 6 million of
different applications
Different kinds of applications in the market
4

Verification Techniques
Runtime Verification
RV is based on the observation of the traces generated by the execution of a system to detect errors of its behavior.
RV types
Synchronous Asynchronous
Internal External
Offline Online
5
Android Overview
A Runtime Verification Framework for ANDROID Applications
6

Android Architecture
Application
Built-in(phone, contacts, browser), Third-party/Custom
Application Framework
Telephone Manager, Location Manager, Notification Manager, Content providers, Windowing, Resource Manager, etc.
Libraries
Graphics, media, database, WebKit, etc.
Android Runtime
Dalvik Virtual Machine
Linux Kernel
Power, File system, drivers, process, management, etc.
7

Android System
8

Android System
Each application may be composed of different components:
Activity: an independent visual screen for the user
Service: particular task embedded inside a specific application
Content provider: allows to provide data from one application
to another
Broadcast receiver: manages the messages sent by the system or the applications
9
Formalizing Android
A Runtime Verification Framework for ANDROID Applications
10

Formalizing Android
We consider that applications may be in one of the following states:
Inactive: the main thread does not yet exist.
Active: the main thread of the application has been
initialized and some service or activity is active.
Paused: the application is initialized but none of its components is active.
11

Formalizing Android
The configuration of an Android application is given by a tuple:
ID: the application identifier.
State: active, inactive or paused.
Event queue: each of which may be directed to one or several components of a system application.
Components: a list of activities, services, content providers or broadcast receivers.
12

Formalizing Android
Android is basically an event-driven OS. The whole system,
its applications and its components evolve through events.
We formalize those events as transition rules, referred to the
whole system, an application or a component.
Each element extracted from the event queue of an application may release concrete events for any component of the applications.
13

Formalizing Android
Once the event has arrived at the event queue, it is distributed
to the corresponding components.
14
Dragonfly DESIGN
A Runtime Verification Framework for ANDROID Applications
15

Functionality
Events
Monitor throwing events
And listening the traces
Verification with observers
16

Dragonfly Architecture
Monitor
INSTRUMENTATION
Threads
Allocated Objects
Profiling data
…
Application Manager
Android Monitor Engine
Observer
Event Generators
Source
Android Model
Error Reports
17

Application Manager
Generates random events using Monkey
Source
Application Manager
Event Generators
$ adb shell monkey -p your.package.name -v 500
18

Monitor Engine
…
Source
Android Monitor Engine

Tools to extract information
DDMlib -> adb
JDI
DDMlib allow us to start Android Debug Bridge and get useful information from the sources.
JDI (Java Debug Interface) is needed to detect method entry event and other specific events.
19

Instrumentation and observers
Error Reports
Observer
Aspect Oriented Paradigm
Instrumentation : Spring AOP
DSL: Lambdaj + AspectJ
20
Example
A Runtime Verification Framework for ANDROID Applications
21

Activity Life Cycle
22

Activity Life Cycle
23
Static Monitor
A Runtime Verification Framework for ANDROID Applications
24

Static Monitor
Static data are properties or values from the:

Smart-phone: battery status, serial number…

I/O’s: GPS status, camera status, signal strength…

Applications: identifiers, names, main threads…

Components: types, set of states…
25

Static Monitor
Source
DDMlib
ANDROID MODEL
Static info
Build
26
Dynamic Monitor
A Runtime Verification Framework for ANDROID Applications
27

Dynamic Monitor
Dynamic data correspond to the sequence of
events fired by the system or by the user. We
define three types of events:
Actions related to the state of components
Method calls
Exceptions
LISTENERS
28

Dynamic Monitor

Source
Monitor
Application Manager
Android Monitor Engine
Android Model
USB or Wireless
Stimulation events
Return events
29
ConcluSIons & FUTURE WORK
A Runtime Verification Framework for ANDROID Applications
30

Conclusions
We have developed a tool capable of:

Verifying Android Applications on runtime

Extending the verification to other platforms

Saving a lot of verification properties

Writing the properties in a semantic language

31

Future Work
Improve the DRAGONFLY’s capabilities combining DDMlib with other tools


Improve DRAGONFLY’s efficency trying other types of instrumentations and DSL’s
32
Thanks!!
Questions?
 
Gửi ý kiến