A Cross-platform Analysis of Bugs and Bug-fixing in Open Source Projects: Desktop v. Android v. iOS

Description

In this paper we focus specifically on differences in bugs and bug-fixing processes between desktop and smartphone software. Our study covers 444,129 bug reports in 88 open source projects on desktop, Android, and iOS.

Examined Projects

The following table shows the projects we use in our research, also issue tracking system each project use.
Projects with * in the last moved both source code repository and issue tracking system to GitHub. Projects with ## in the last only immigrated source code repository to GitHub.
ID desktop Android ios
1 Mozilla Core (Bugzilla) Android Platform (Google Code) Mobile Terminal (Google Code)
2 SeaMonkey (Bugzilla) ZXing (Google Code->GitHub)* Frotz (Google Code)
3 Gnome Core (Bugzilla) OpenIntents (Google Code)## Tomes (Google Code)
4 Kmail (Bugzilla) ConnectBot (Google Code)## VNsea (Google Code)
5 kdevelop (Bugzilla) Shuffle (Google Code)## MyTime (Google Code)
6 Kate (Bugzilla) K-9 Mail (Google Code)## Siphon (Google Code)
7 Konqueror (Bugzilla) Wikimedia Mobile (Bugzilla) Metasyntactic (Google Code)
8 Thunderbird (Bugzilla) Open GPS Tracker (Google Code) cocos2d for iPhone (Google Code->GitHub)*
9 Tomcat (Bugzilla) OSMdroid (Google Code->GitHub)* WordPress for iOS (Trac->GitHub)*
10 Ant (Bugzilla) WiFi Tether (Google Code) Colloquy for iOS (Trac)
11 OpenOffice (Bugzilla) Sipdroid (Google Code) Core Plot (Google Code->GitHub)*
12 MantisBT (MantisBT) Transdroid (Google Code->GitHub)* Tweetero (Google Code)
13 Firefox (Bugzilla) SL4A (Google Code)## BTstack (Google Code)
14 Lucene (JIRA) AnySoftKeyboard (Google Code->GitHub)* iDoubs (Google Code)
15 Eclipse Platform (Bugzilla) Omnidroid (Google Code) Chrome for iOS (Google Code)
16 Eclipse JDT (Bugzilla) AnkiDroid Flashcards (Google Code)## VLC for iOS (Trac)
17 Portable OpenSSH (Bugzilla) Official XBMC Remote (Google Code)##
18 Eclipse CDT (Bugzilla) WordPress for Android (Trac->GitHub)*
19 Apache httpd (Bugzilla) WebSMS+SMSdroid (Google Code)##
20 Kopete (Bugzilla) Eyes-Free (Google Code)
21 K3b (Bugzilla) Call Meter NG/3G (Google Code->GitHub)*
22 Plasma Desktop (Bugzilla) WebKit (Bugzilla)
23 Linux Kernel (Bugzilla) GAOSP (Google Code)##
24 Hibernate (JIRA) CSipSimple (Google Code)
25 Spring (JIRA) Synodroid (Google Code)
26 Amarok (Bugzilla) libGDX (Google Code->GitHub)*
27 Maven (JIRA) Firefox for Android (Bugzilla)
28 WordPress (Trac) My Tracks (Google Code)
29 digiKam (Bugzilla) Mapsforge (Google Code)
30 VLC (Trac) IMSDroid (Google Code)
31 Mylyn (Bugzilla) OsmAnd (Google Code)
32 Hadoop (JIRA) libphonenumber (Google Code)
33 Dolphin (Bugzilla) CyanogenMod (Google Code)
34 Cassandra (JIRA) MiniCM (Google Code)##
35 CM7 Atrix (Google Code)
36 Androminion (Google Code)
37 Chrome for Android (Google Code)
38 VLC for Android (Trac)

Appendix Data

Datasets This is the data sets we used for the quantitative analysis (The datasets used for topic modeling are too large to put it online).

Feature distribution for each project over time In this folder, we plot the distribution overtime for each feature of each project. Here is an example:


This plot shows the distribution of geometric mean of FixTime per month for project SeaMonkey on desktop.

Geometric mean of features for each project This excel file includes geometric mean of bug-fixing process features, e.g., FixTime, as well as features' crossponding trend (beta) for each project on both platforms.

Geometric mean of bug-fixing metrics for each project This excel file includes geometric mean of bug-fixing metrics, e.g., TurnoverReporter, as well as metrics' crossponding trend (beta) for each project on both platforms.

Topic extracted for each platform This excel file includes top-5 topics every year for each platform. We also show the keywords for each topic and topic label signed by us.
Office: Winston Chung Hall (Engineering Building II), Room 463
Postal: 92521, Riverside, California, USA