Skip to main content

Table 14 A full table of the features and number of apps that logged each feature for each respective test input generation method

From: Machine learning-based dynamic analysis of Android apps with improved code coverage

  Dataset2 Dataset1
  Malware Benign Malware Benign
API signatures RB SB H RB SB H RB SB H RB SB H
1 Ljava/util/TimerTask;->< init> 4373 5893 5776 2785 3499 3465 808 883 921 575 779 774
2 pm/PackageManager 4282 5667 5567 2975 3485 3487 651 723 756 563 742 731
3 Context;->getResources 2754 4994 4870 2536 3410 3414 583 595 639 437 647 639
4 Ljava/security/MessageDigest;->getInstance 2406 4892 4660 1079 2169 2177 338 427 473 327 568 549
5 Ljava/security/MessageDigest;->digest 2213 4538 4442 934 2020 2040 310 366 431 297 533 519
6 Ljava/io/File;->exists 2821 4453 4361 2065 2816 2807 477 602 667 346 501 495
7 Ljava/lang/reflect/Method;->getClass 2468 4433 4346 2052 3084 3058 522 512 540 359 559 565
8 TelephonyManager;->getDeviceId 2277 4512 4223 446 872 874 315 415 429 278 387 378
9 Ljava/security/MessageDigest;->update 2023 4259 4072 866 1951 1983 259 288 335 297 512 465
10 pm/ApplicationInfo;->getApplicationInfo 2538 4019 3893 1485 2088 2078 435 530 563 210 305 300
11 Ljava/lang/Class;->getName 1879 3885 3742 1622 2801 2764 216 175 219 217 434 422
12 Ljava/util/zip/ZipInputStream;->read 1270 4221 3716 816 1927 1943 219 242 336 173 460 408
13 client/methods/HttpPost;->< init> 1128 3958 3501 354 967 927 68 116 150 179 380 369
14 Ljava/util/Date 1351 3295 3212 811 1824 1847 296 177 301 182 342 338
15 Ljava/util/Date;->< init> 1330 3232 3161 784 1752 1785 293 171 289 177 331 329
16 Ljava/util/List 1330 3232 3161 784 1752 1785 293 171 289 177 331 329
17 pm/PackageManager;->checkPermission 1284 3198 3128 301 795 812 76 77 89 164 368 359
18 Landroid/net/Uri;->parse 917 2867 2992 1448 2322 2378 279 241 287 192 480 492
19 Ljava/lang/reflect/Method;->getMethod 1237 2904 2780 711 1442 1440 259 269 285 163 245 249
20 Ljava/io/File;->mkdir 1384 2735 2704 1277 1961 1996 274 326 366 223 362 363
21 Ljava/io/FileOutputStream;->write 868 2723 2674 409 1382 1352 320 344 372 90 147 139
22 Landroid/net/NetworkInfo;->isConnected 666 3068 2521 523 1510 1448 73 84 98 70 210 197
23 Landroid/content/Context;->getFilesDir 1200 2508 2423 1008 1483 1485 49 67 68 96 156 155
24 Landroid/content/res/AssetManager;->open 1452 2300 2277 948 1355 1369 169 187 207 221 320 328
25 wifi/WifiManager;->getConnectionInfo 883 2282 2112 238 582 593 6 14 20 60 120 116
26 intent.BOOT_COMPLETED 2090 2088 2090 1100 1103 1104 621 622 622 170 171 171
27 Lorg/apache/http/client/HttpClient;->execute 333 2732 2006 122 863 785 89 133 188 56 325 264
28 TelephonyManager;->getNetworkOperator 564 2147 1994 124 558 559 86 70 102 68 226 216
29 Ljava/lang/System;->loadLibrary 1538 1867 1872 861 1035 1021 29 22 33 176 207 200
30 Landroid/content/Context;->getAssets 1170 1873 1835 735 1175 1177 125 119 134 155 243 246
31 Landroid/content/Context;->getCacheDir 644 1894 1824 594 1132 1131 15 42 48 38 181 181
32 Ljavax/crypto/Cipher;->init 501 2146 1812 357 1133 1159 41 51 51 69 151 139
33 Ljava/util/GregorianCalendar;->getTime 519 1905 1797 386 1196 1236 224 107 207 64 188 191
34 Ljava/io/File;->delete 527 1956 1776 397 1221 1256 72 88 93 55 118 120
35 Landroid/net/NetworkInfo;->getTypeName 393 1979 1736 122 330 322 103 217 192 48 130 119
36 Landroid/net/NetworkInfo;->getState 621 1922 1726 99 238 241 191 119 135 80 153 145
37 Ljavax/crypto/Cipher;->getInstance 517 2037 1709 303 980 995 47 57 56 73 146 136
38 Ljavax/crypto/SecretKey; 429 1960 1629 333 1071 1095 41 51 51 59 137 127
39 Ljavax/crypto/spec/SecretKeySpec;->< init> 382 1891 1566 326 1061 1086 15 13 15 47 118 112
40 TelephonyManager;->getSimOperator 576 1893 1537 111 245 243 61 109 131 29 72 77
41 Ljavax/crypto/Cipher;->doFinal 413 1562 1480 237 901 918 29 40 40 47 100 88
42 enfperm 1456 1453 1456 2963 2963 2963 47 47 47 147 146 146
43 Ljava/lang/ClassLoader 557 1556 1420 544 1130 1177 190 191 201 34 75 72
44 Landroid/content/Context;->bindService 430 1287 1248 434 1457 1396 1 2 2 31 59 61
45 Ljava/util/Timer;->schedule 404 1240 1213 274 1055 1015 331 222 339 52 120 122
46 Ljava/lang/ClassLoader;->getParent 438 1246 1187 422 917 923 85 76 87 78 173 158
47 Landroid/content/ContentResolver 266 1203 1178 551 1223 1258 101 96 100 52 77 80
48 Ljava/lang/Runtime;->getRuntime 643 1162 1124 465 982 1016 79 56 66 65 85 86
49 Ljava/lang/Class;->getClassLoader 400 1129 990 317 715 775 183 186 196 23 51 49
50 TelephonyManager;->getSubscriberId 478 1300 927 96 154 155 161 232 230 51 78 78
51 com.android.vending.INSTALL_REFERRER 905 907 905 2091 2089 2090 29 29 29 195 196 197
52 Landroid/os/Process;->myPid 318 852 850 326 761 878 6 5 12 32 87 106
53 Ljava/lang/Process 394 798 789 76 265 275 112 122 142 43 70 67
54 ContextWrapper;->sendBroadcast 217 693 785 110 338 332 9 10 13 36 67 65
55 Ljava/net/URLConnection;->connect 6 925 774 3 421 402 12 47 73 2 108 93
56 Ljava/lang/ProcessBuilder;->start 218 777 752 77 251 271 70 122 132 18 56 52
57 Ljava/lang/ClassLoader;->loadClass 239 768 738 283 637 698 0 1 2 16 30 32
58 TelephonyManager;->getLine1Number 322 785 720 71 115 111 114 141 159 34 92 64
59 Landroid/content/Context;->unbindService 84 719 695 70 557 579 0 0 0 4 8 11
60 Ljava/lang/ClassLoader;->getResource 295 766 652 167 275 259 175 182 193 8 23 22
61 TelephonyManager;->getSimCountryIso 178 667 641 123 290 316 2 2 3 16 50 53
62 PackageManager;->getInstalledApplications 122 776 617 98 166 191 4 4 6 14 59 41
63 USER_PRESENT 565 564 565 202 202 201 45 45 45 24 24 24
64 PACKAGE_ADDED 564 566 564 218 215 215 3 3 3 14 14 13
65 CONNECTIVITY_CHANGE 551 551 551 659 658 657 22 22 22 30 30 29
66 Ljava/lang/Runtime;->exec 330 440 442 66 179 186 70 31 40 38 48 47
67 TelephonyManager;->getSimSerialNumber 245 477 425 62 100 103 132 133 159 17 23 18
68 PACKAGE_REMOVED 406 407 406 284 282 283 10 10 10 34 33 32
69 ClassLoader;->getResourceAsStream 235 446 406 85 139 130 175 182 191 3 15 15
70 Ljava/lang/ProcessBuilder;->< init> 97 417 396 18 108 116 50 97 110 6 24 24
71 AudioManager;->getStreamVolume 117 375 378 43 76 127 17 20 25 20 37 47
72 TelephonyManager;->getCellLocation 136 362 335 3 13 14 25 24 29 15 18 21
73 SMS_RECEIVED 281 282 281 177 177 177 71 71 71 8 8 8
74 PACKAGE_REPLACED 263 263 263 665 664 664 15 15 15 17 18 17
75 ContextWrapper;->openOrCreateDatabase 125 254 253 40 82 82 19 21 22 8 31 30
76 Document;->getDocumentElement 45 214 166 11 108 91 4 4 6 11 32 29
77 Ljava/net/Socket;->getOutputStream 85 171 162 17 106 100 48 7 15 7 11 12
78 Landroid/net/NetworkInfo;->getExtraInfo 49 115 156 1 22 16 90 194 149 8 23 30
79 sqlite/SQLiteDatabase;->openDatabase 75 138 134 27 81 79 2 2 2 5 10 10
80 action.PHONE_STATE 132 133 132 101 101 101 68 68 68 11 11 11
81 TelephonyManager;->getCallState 13 120 122 15 57 53 6 18 6 2 4 4
82 NEW_OUTGOING_CALL 104 105 104 50 50 50 50 51 50 13 13 13
83 Ljava/net/URL;->openStream 16 96 98 5 66 74 0 0 0 4 16 16
84 reflect/Method;->getDeclaringClass 33 94 94 38 165 161 1 1 1 1 1 1
85 Ljava/lang/Process;->getOutputStream 68 80 84 6 10 9 48 7 15 3 3 3
86 Socket;->getInputStream 17 91 78 11 98 92 0 0 0 4 8 9
87 Landroid/net/wifi/WifiManager;->getWifiState 38 71 72 34 65 69 3 5 8 14 20 21
88 SmsManager;->sendTextMessage 22 26 44 0 0 0 1 2 2 0 0 0
89 Ljava/io/DataInputStream;->available 16 37 40 4 12 16 22 7 17 5 10 8
90 ContextWrapper;->openFileOutput 15 35 33 7 28 26 0 0 0 5 6 6
91 ACTION_POWER_CONNECTED 28 28 28 119 117 117 44 44 44 1 1 1
92 TelephonyManager;->isNetworkRoaming 17 26 27 17 36 28 0 0 0 6 9 8
93 PACKAGE_RESTARTED 26 26 26 33 33 33 0 0 0 3 3 3
94 WAP_PUSH_RECEIVED 24 24 24 25 25 26 14 14 14 3 3 3
95 PACKAGE_INSTALL 22 23 23 9 9 9 16 16 16 2 2 2
96 ContextWrapper;->startActivity 6 19 23 2 4 7 0 0 0 1 4 3
97 wifi/WifiManager;->setWifiEnabled 19 9 18 10 8 14 0 1 1 2 2 5
98 SmsManager;->divideMessage 0 3 16 0 0 0 0 0 0 0 0 0
99 Ljava/net/Socket;->isConnected 1 17 11 3 39 49 0 0 0 0 1 1
100 ContextWrapper;->openFileInput 5 7 10 5 7 12 0 0 0 2 2 3
101 ACTION_POWER_DISCONNECTED 9 9 9 152 153 153 0 0 0 1 1 1
102 BATTERY_LOW 7 7 7 20 20 19 0 0 0 1 1 1
103 Landroid/app/Service;->onDestroy 0 17 7 0 0 1 0 0 0 0 23 1
104 Ljava/lang/ProcessBuilder;->command 4 6 6 4 37 39 0 0 0 2 2 2
105 UMS_CONNECTED 5 5 5 0 0 0 0 0 0 1 1 1
106 PACKAGE_CHANGED 3 3 3 65 65 65 0 0 0 3 3 3
107 BATTERY_OKAY 3 3 3 16 16 16 0 0 0 0 0 0
108 Landroid.content.ContentProviderClient 0 3 3 17 32 37 0 0 0 0 0 0
109 SIG_STR 2 2 2 0 0 0 31 31 31 0 0 0
110 Ljava/lang/Runtime;->exec_Chmod775 0 1 2 0 0 0 4 4 4 0 0 0
111 Landroid/app/Service;->onCreate 6 3 2 6 3 2 3 0 0 0 0 0
112 UMS_DISCONNECTED 1 1 1 2 2 2 184 183 184 0 0 0
113 SIM_FULL 1 1 1 4 4 4 0 0 0 0 0 0
114 SEND_MESSAGE 1 1 1 2 2 2 9 9 9 0 0 0
115 SmsManager;->sendMultipartTextMessage 0 0 1 0 0 0 0 0 0 0 0 0
116 Landroid/content/ServiceConnection 0 2 1 0 0 0 0 0 0 0 0 0
117 fdaccess 0 1 0 0 0 0 0 0 0 0 0 0
118 recvnet 0 1 0 0 0 0 0 0 0 0 0 0
119 init_APIMonitor 0 1 0 0 0 0 0 0 0 0 0 0
120 ContextWrapper;->sendOrderedBroadcast 0 0 0 0 2 2 0 0 0 0 0 0
121 getInstance_APIMonitor 0 1 0 0 0 0 0 0 0 0 0 0
122 SmsManager;->sendDataMessage 0 1 0 0 0 0 0 0 0 0 0 0
  1. RB random-based, SB state-based, H hybrid