App | Package | Version | LOC | Category | Exception Category | Root Cause | Exception Type | Issue | Buggy | Fixed | Comments |
---|---|---|---|---|---|---|---|---|---|---|---|
Bites | caldwell.ben.bites |
1.3 | Recipes cookbook | Framework | Parameter Error | NumberFormatException | - | - | - | - | |
Birthdroid | com.rigid.birthdroid |
0.6.3 | birthday app | Framework | Parameter Error | NumberFormatException | issue | buggy | fix | - | |
Bankdroid | com.liato.bankdroid |
1.9.10.6 | Swedish Banking App | Framework | Parameter Error | IllegalArgumentException (Illegal character in query/path) | issue | - | - | - | |
Olam | com.olam |
1.0 | Olam Malayalam Dictionary | Framework | Parameter Error | SQLiteException (syntax error) | issue | - | - | - | |
Scribbler | com.gmail.altakey.effy |
0.1.8 | Graphics | Framework | XML Error | FormatFlagsConversionMismatchException | - | - | - | - | |
Nextcloud | com.nextcloud.android.beta |
20160613 | Nextcloud Android app | Framework | XML Error | Resources$NotFoundException | issue | - | fixed | source code compile failed | |
transistor | org.y20k.transistor |
1.1.5 | Radio App | Framework | Lifecycle Error | IllegalStateException (Fragment XX not attached to Activity) | issue | buggy | fix | - | |
android-obd-reader | com.github.pires.obd.reader |
2.0-rc1 | OBD-II Reader App | Framework | Lifecycle Error | IllegalArgumentException (Service not registered) | issue | buggy | fix | source code compile failed | |
opentasks | org.dmfs.tasks |
1.1.7 | Task App | Framework | Lifecycle Error | IllegalStateException (Can not perform this action after onSaveInstanceState) | issue | [buggy]() | [fix]() | discussion | |
budget-envelopes | com.notriddle.budget |
3.4 | Budget Management App | Framework | Lifecycle Error | IllegalStateException (Can not perform this action after onSaveInstanceState) | - | - | - | - | |
NewPipe | org.schabi.newpipe |
0.7.8 | Youtube frontend for Android | Framework | Lifecycle Error | IllegalStateException (Content view not yet created) | issue | - | - | - | |
WordPress-Android | org.wordpress.android |
3.6 | WordPress for Android | Framework | Lifecycle Error | IllegalStateException (Fragment already added) | issue | - | - | - | |
adsdroid | hu.vsza.adsdroid |
1.6 | App for alldatasheet.com | Framework | Lifecycle Error | IllegalArgumentException (View not attached to window manager) | - | - | - | - | |
TwistedHomeManager | com.twsitedapps.homemanager |
1.0.1.9 | Twisted Home Manager | Framework | UI Update Error | IllegalStateException (ListView & Adapter Update Issue) | issue | - | - | Not easy to reproduce manually | |
Cowsay | com.fixme.cowsay |
1.3 | Development | Framework | UI Update Error | CalledFromWrongThreadException | - | - | - | - | |
Tickmate | de.smasi.tickmate |
1.2.0 | One bit journal | Framework | Index Error | CursorIndexOutOfBoundsException | issue | buggy | fixed | - | |
Mitzuli | com.mitzuli |
1.0.7 | Reading | Framework | Lifecycle Error | WindowManager$BadToken (unable to add window) | - | - | - | - | |
Anki-Android | com.ichi2.anki |
2.8.2beta2 | Anki on Android | Framework | Constraint Error | IllegalStateException(Fragment null must be a public static class to be properly recreated from instance state) | issue | - | fixed | - | |
tripmobile | me.tripsit.mobile |
1.0 | Tripsit mobile app | Framework | Constraint Error | RuntimeException (Can't create handler inside thread that has not called Looper.prepare()) | issue | buggy | fixed | - | |
Notepad | bander.notepad |
1.06 | Note App | Framework | Database Management Error | IllegalArgumentException (column XX does not exist) | issue | - | - | - | |
AppBak | org.moparisthebest.appbak |
1 | System | Framework | Hardware | OutOfMempryError | - | - | - | - | |
Addi | com.addi |
1.98 | Science & Education | Framework | Resource-Not-Found Error | ActivityNotFoundException | - | - | - | - | |
WordPress-Android | org.wordpress.android |
8.2 | WordPress for Android | Framework | Other Errors | ClassCastException | issue | buggy | fixed | discussion | |
CampFahrplan | nerd.tuxmobil.fahrplan.congress |
1.32.2 | Time | Library | Parameter Error | IllegalArgumentException (unexpected url) | - | - | - | - | |
screenrecorder | com.orpheusdroid.screenrecorder |
1.8.4 | Screen Recorder | Library | Compatibility Error | IllegalStateException (must call onStart before onStop) | issue | - | - | Compatibility issue with the library countly-sdk-android | |
Password Maker | org.passwordmaker.android |
1.1.11 | Security | Application | NullPointer Error | NullPointerException | - | - | - | - | |
YalpStore | com.github.yeriomin.yalpstore |
0.17 | Yalp Store | Application | NullPointer Error | NullPointerException (Attempt to invoke virtual method ... on a null object reference) | issue | - | fixed | - | |
Zom-Android | im.zom.messenger |
15.2.0-RC-3 | Chat App | Application | NullPointer Error | NullPointerException (Attempt to read from field ... on a null object reference) | issue | - | - | - | |
transistor | org.y20k.transistor |
1.2.3 | Radio App | Application | NullPointer Error | NullPointerException (Attempt to invoke virtual method ... on a null object reference) | issue | - | - | - | |
LibreNews | app.librenews.io.librenews |
1.4 | LibreNews client | Application | Index Error | ArrayIndexOutOfBoundsException | issue | - | - | - | |
LibreNews | app.librenews.io.librenews |
1.4 | LibreNews client | Application | NullPointer Error | NullPointerException (Attempt to invoke virtual method ... on a null object | issue | - | - | - | |
AnyMemo | org.liberty.android.fantastischmemo |
10.10.1 | Flashcard learning | Application | NullPointer Error | NullPointerException (Attempt to invoke virtual method ... on a null object | issue | - | - | - |
The directory structure of DroidDefects is as follows:
DroidDefects
|
|--- reproducible-cases: Reproducible exception cases
|
| --- adsdroid
|
| --- .apk The apk file
| --- exception.txt The exception trace
| --- README.md The reproduciable steps
| --- rootcause.txt The root cause
| --- src The app source code
|
|--- ground-truth-cases: Ground-truth exception cases
|
| --- fdroid_apks_complexity.csv the app complexity metrics (#LOC, #Classes, #Activities, #Methods)
| --- Dataset_crashanalysis the ground-truth exception traces
|--- utils the utility programs
Ting Su, Lingling Fan, Sen Chen, Yang Liu, Lihua Xu, Geguang Pu, and Zhendong Su. Why My App Crashes? Understanding and Benchmarking Framework-specific Exceptions of Android apps, IEEE Transactions on Software Engineering (TSE), 2020.
You can find more about our work on testing/analyzing Android apps at this website.