Visible to the public Inter-app Communication in Android: Developer ChallengesConflict Detection Enabled

TitleInter-app Communication in Android: Developer Challenges
Publication TypeConference Proceedings
Year of Publication2016
AuthorsWaqar Ahmad, Christian Kästner, Joshua Sunshine, Jonathan Aldrich
Conference Name2016 IEEE/ACM 13th Working Conference on Mining Software Repositories
Date Published05/2016
PublisherACM New York, NY, USA ©2016
Conference LocationAustin, TX
KeywordsCMU, July'16

The Android platform is designed to support mutually untrusted third-party apps, which run as isolated processes but may interact via platform-controlled mechanisms, called Intents. Interactions among third-party apps are intended and can contribute to a rich user experience, for example, the ability to share pictures from one app with another. The Android platform presents an interesting point in a design space of module systems that is biased toward isolation, extensibility, and untrusted contributions. The Intent mechanism essentially provides message channels among modules, in which the set of message types is extensible. However, the module system has design limitations including the lack of consistent mechanisms to document message types, very limited checking that a message conforms to its specifications, the inability to explicitly declare dependencies on other modules, and the lack of checks for backward compatibility as message types evolve over time. In order to understand the degree to which these design limitations result in real issues, we studied a broad corpus of apps and cross-validated our results against app documentation and Android support forums. Our findings suggest that design limitations do indeed cause development problems. Based on our results, we outline further research questions and propose possible mitigation strategies.

Citation Keynode-30216

Other available formats:

Ahmad_Inter_App_Comms_DG.pdfPDF document594.5 KBDownloadPreview