# On Transparency and Accountability of Smart Assistants in Smart Cities
## 3 Diagnostic Analysis of GA
### Description-To-Permissions Fidelity
#### 3.4.2 Comparison with Leading Smart Assistants  
As apparent from the list of functions provided in Table 1, most of the functions discovered in GA's description are also discovered in the descriptions of other smart assistants. For example, similar to GA, Alexa, Cortana, and Lyra Virtual Assistant operate across devices, and all four evaluated smart assistants use voice recognition and offer personalized services to their users. Similar to GA, users can ask Lyra Virtual Assistant to find directions for them, and it can play YouTube videos for them. Cortana and Dragon can launch apps, and Dragon can send emails, similar to GA. Only physical activity tracking and event planning are additional app features in GA. Nevertheless, there are functions that other smart assistants offer to their users, and GA does not. For example, online shopping, news updates, intercom service, note-taking, social media posting, and translation are functions that one smart assistant offers or another, but GA.  
However, as given in Table 3, when we look at the permission requirements of these five smart assistants, GA offers an exceptional case. While Alexa, Cortana, Dragon, and Lyra Virtual assistant require a large number of normal, dangerous, and system or signature permissions that match the functions claimed to be offered by these smart assistants, GA required only one system or signature permission. Likewise, Table 4 provides the Dangerous Permissions required by Alexa, Cortana, Dragon, and Lyra smart assistants to perform functions given in Table 1. GA does not require any Dangerous Permission.  
\begin{table}
\begin{tabular}{l c c c c} \hline \hline
**API** & **Alexa** & **Cortana** & **Dragon** & **GSA** & **Lyra** \\ \hline getDeviceId & & & & & - \\ getSubscriberId & - & - & - & - & - \\ getCallState & & - & - & - & - \\ getNetworkCountry & - & - & - & - & - \\ sendTextMessage & - & - & - & - & - \\ getMessageBody & - & & - & - & - \\ getNetworkInfo & & - & - & - & \\ getLastKnownLocation & & & - & - & - \\ getLatitude & & & & - & - \\ getLongitude & & & & - & - \\ getOutputStream & & & & - & - \\ openStream & - & - & - & - & - \\ sendDataMessage & - & - & - & - & - \\ setPlaybackStat & & - & & - & - \\ setCallback & & & & - & - \\ getAssets & & & & - & - \\ getHost & & & & - & - \\ requestSync & - & & - & - & - \\ startSync & - & - & - & - & - \\ stopSync & - & - & - & - & - \\ loadUrl & - & & & - & - \\ connect & & & & - & - \\ getLanguage & & & & - & - \\ speak & & & & - & - \\ shutdown & & & & & - \\ \hline \hline \end{tabular}
\end{table}
Table 2: A comparative overview of API usage in the examined smart assistantsTable 2 shows the comparative findings of API usage for learning device identity, making calls, text messaging, network information collection, location-based services, streaming services, synchronization, network connectivity, and speech recognition. Again, we find an unusual pattern in GA. Apart from getAssets API use, which provides access to an app's assets, GA does not use any of the standard APIs mentioned in Table 2 and corresponding to functions listed in its description on Google Play store.