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