Table of Contents
Fetching ...

Understanding and Detecting Compatibility Issues in Android Auto Apps

Moshood Fakorede, Umar Farooq

TL;DR

The paper tackles the gap between the large Android app ecosystem and the relatively small set of Android Auto-compatible apps. It introduces CarCompat, a static-analysis framework that builds a Car-Control Flow Graph (CCFG) and uses three specialized checkers to detect UI, media playback, and voice-command compatibility issues. Through formative studies and evaluation on open-source and commercial apps, CarCompat uncovers a substantial set of real-world issues (25 detected across 54 open-source and 13 commercial apps) with high precision and efficiency, outperforming Android Lint in coverage and speed. The results demonstrate CarCompat’s practical value in guiding developers to fix compatibility problems, improving the in-vehicle user experience and safety. The work also discusses limitations, including language support and the need for broader category coverage as Android Auto evolves, setting a foundation for future enhancements.

Abstract

Mobile platforms now power not only smartphones but also in-vehicle systems like Android Auto and CarPlay. Despite an ecosystem of over 3.5 million Android apps and more than 200 million Android Auto-compatible vehicles, only a few hundred apps have been adapted for automotive use. To better understand this gap, we studied 147 reported issues related to Android Auto and identified their root causes. We found that more than 70% of issues result from UI incompatibilities, 24% from media playback errors, and around 5% from failures in voice command handling, showing a lack of effective tools for developers. We introduce CarCompat, a static analysis framework that detects compatibility problems in Android Auto apps. CarCompat constructs a Car-Control Flow Graph (CCFG) to capture interactions among app components, lifecycle methods, and platform-specific callbacks. It applies specialized checkers to detect UI violations, media playback errors, and issues with voice command handling. We evaluated CarCompat on a dataset of 54 Android Auto apps and detected 25 new issues, 4 of which were confirmed by developers, and 2 developers have already released their fixes. The results show that CarCompat helps developers identify and fix compatibility issues, improving the in-vehicle experience.

Understanding and Detecting Compatibility Issues in Android Auto Apps

TL;DR

The paper tackles the gap between the large Android app ecosystem and the relatively small set of Android Auto-compatible apps. It introduces CarCompat, a static-analysis framework that builds a Car-Control Flow Graph (CCFG) and uses three specialized checkers to detect UI, media playback, and voice-command compatibility issues. Through formative studies and evaluation on open-source and commercial apps, CarCompat uncovers a substantial set of real-world issues (25 detected across 54 open-source and 13 commercial apps) with high precision and efficiency, outperforming Android Lint in coverage and speed. The results demonstrate CarCompat’s practical value in guiding developers to fix compatibility problems, improving the in-vehicle user experience and safety. The work also discusses limitations, including language support and the need for broader category coverage as Android Auto evolves, setting a foundation for future enhancements.

Abstract

Mobile platforms now power not only smartphones but also in-vehicle systems like Android Auto and CarPlay. Despite an ecosystem of over 3.5 million Android apps and more than 200 million Android Auto-compatible vehicles, only a few hundred apps have been adapted for automotive use. To better understand this gap, we studied 147 reported issues related to Android Auto and identified their root causes. We found that more than 70% of issues result from UI incompatibilities, 24% from media playback errors, and around 5% from failures in voice command handling, showing a lack of effective tools for developers. We introduce CarCompat, a static analysis framework that detects compatibility problems in Android Auto apps. CarCompat constructs a Car-Control Flow Graph (CCFG) to capture interactions among app components, lifecycle methods, and platform-specific callbacks. It applies specialized checkers to detect UI violations, media playback errors, and issues with voice command handling. We evaluated CarCompat on a dataset of 54 Android Auto apps and detected 25 new issues, 4 of which were confirmed by developers, and 2 developers have already released their fixes. The results show that CarCompat helps developers identify and fix compatibility issues, improving the in-vehicle experience.

Paper Structure

This paper contains 22 sections, 4 figures, 9 tables.

Figures (4)

  • Figure 1: Example Android Auto compatibility issue in an app, (a) app works fine on the phone. (b) Due to compatibility issues with Android Auto, the app does not appear as intended on the car screen.
  • Figure 2: An illustration of an Android Phone and a Vehicle connection while running Google Maps.
  • Figure 3: Lifecycle of an Android Auto app, showing callbacks for screen, session, and user interaction.
  • Figure 4: Overview of CarCompat: the process starts from configuration analysis to extract Android Auto features and metadata, followed by static analysis, and generating Android Auto compatibility results.