60 likes | 235 Views
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
E N D
An Application Profiler for Android CSC 714 - FALL 2011 ArashRezaei, GopikannanVenugopalsamy
Problem statement • Application profiling in Android, for the purpose offinding 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