What an application (or “app”) does is not always what a user expects. User expectations stem from user perceptions (information they can perceive about an application). User perceptions come from two sources: app descriptions form user perception before installation, and user interfaces enrich user perception after installation. Two types of inconsistencies, corresponding to each of these sources, contribute to the gap between app behavior and user perception. (1) Install-time inconsistency involves the functionalities described in app descriptions being inconsistent with the actual app behaviors. (2) Run-time inconsistency involves the behavior indicated through user interfaces (external behavior) being inconsistent with the behavior running in the background (internal behavior). In this proposal, we aim to bridge the gap between user perception and app behavior by developing a set of automated analyses to check these two inconsistencies and warn users about potential risks.