CraftDroid and ReCBench
CraftDroid
CraftDroid is an approach for minging crash-inducing bug fixes in Android apps. As depicted in the Figuire below.
ReCBench
ReCBench is a collection of 200 Android crashed apps (where you must download from AndroZoo with the sha256 provided for each apk) with crash reproducing script and crash message filtered out from LogCat. The dataset is accessible here.
Experimental Data
Fix Templates
We have mined 17 fix templates that are accessible here.
Evaluated Patches
We have applied these fix templates on 20 apks selected from ReCBench, out of which 17 fixes are successful. 3 failed for various reasons. Click on the app names for a git diff view of the patches applied on the corresponding JIMPLE files.
App Name | Bucket | Applied Template | Fix | Remark |
---|---|---|---|---|
AutoHome | 8 | LifeCycle Verifier | yes | |
PI | 8 | LifeCycle Verifier | yes | |
JadwalKA | 12 | Thread Finisher | yes | |
Fruit Mahjong | 12 | Thread Finisher | yes | |
Flashlight | 1 | Provider Checker | yes | |
areain! | 1 | Provider Checker | yes | |
WordPress | 18 | Range Checker | no | crash with succeeding API |
Android Optimizer | 18 | Range Checker | yes | |
Mine_mine | 20 | Emptiness Checker | yes | |
SetCPU | 20 | Emptiness Checker | no | String null throw NPE |
FingerWQ | 23 | Canvas Preconcator | no | app method non existing |
BTCfx | 15 | Package Settler | yes | |
MapCam | 15 | Package Settler | yes | |
Baby Piano | 2 | Activity Resolver | yes | |
GK in Gujarati | 2 | Activity Resolver | yes | |
Reflection | 2 | Activity Resolver | yes | |
UK Lotto | 2 | Activity Resolver | yes | |
Agile Buddy | 2 | Activity Resolver | yes | |
HiYou Park | 33 | Try-catcher | yes | |
Sohu Weibo | 33 | Try-catcher | yes |