Download An Application Profiler for Android

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
An Application Profiler for
Android
CSC 714 - FALL 2011
Arash Rezaei, Gopikannan Venugopalsamy
Problem statement
• Application profiling in Android, for the
purpose of finding behavior patterns of
applications
• The identified behavior patterns helps to
differentiate the applications that consume
suspicious level/patterns of resources
• Android assigns each application a
– UID: unique number at install time
– PID (Process ID)
Resources Monitoring
• Two monitoring service
– Time based
•
•
•
•
Memory usage
CPU usage
Sensor usage
Network usage
– Event Based
• File System Monitoring
Resources Monitoring(cont.)
• Memory usage: The ActivityManager is used to get all the running
process information and also the memory usage of each application
given their pids.
– Includes Pss, PrivateDirty and sharedDirty
• Sensor Usage: Sensor manager is the service that handles all kinds
of sensors in device. Batterystats.Uid.sensor is a package that is used
to obtain statistics of sensor usage of an application.
• CPU Usage: The package "android.os.BatteryStats.proc" is used
along the Uid of the process to get the
– user time
– system time
– foreground time
The sum of these is multiplied along the power factor which gives
us the CPU usage of that application.
Resources Monitoring(cont.)
• Network usage: (TrafficStats) for each App.
– No. of TCP/UDP payload bytes sent/received
– No. of TCP/UDP packets sent/received
– No. of TCP segments sent/received
• File System Monitoring: (Event driven)
–
–
–
–
–
File X is created
File X is opened
File X is closed
File X is modified
File X written and closed