Communication on mobile platforms is inherently more open and flexible to satisfy the needs for personalization and functionality, compared to desktop or server-based systems. As a result, the traditional approach for guaranteeing communication integrity is generally insufficient in the "appified" mobile platform, where users readily download varieties of network apps with a wide array of functionalities. In this talk, we examine some of the fundamental difficulties in ensuring communication integrity of mobile systems, caused by a lack of clear specification of how these communication channels should be used and the challenge in discerning the intent of the usage. We investigate how more formal techniques such as static analysis leveraging programming language tools can solve this problem practically. In addition, we explore how additional information such as usage context can help reach goals of provable security guarantees. We study this problem in several real-world use cases of mobile systems including open network ports and security policy enforcement, which are also relevant to the emerging IoT and vehicular application domains.