The BlueSeal team investigates static analysis and dynamic instrumentation techniques on Android. The first application of the techniques is Flow Permissions, a new permission mechanism based on information flows. This new permission mechanism statically analyzes the bytecode of an Android app, detects all potential information flows within the app (e.g., an information flow from contacts to the network), and reports them to the user for approval at the installation time (e.g., “This app can read your contacts and send it over the network. Do you approve?”). It augments the existing permission mechanism by giving users an opportunity to examine and approve the behavior of an app.


PhoneLab is a large-scale smartphone testbed. As of 2013, PhoneLab consists of roughly 300 Android phones handed out to students, faculty, and staff at SUNY Buffalo, providing the flexibility, scale, and realism necessary to enable mobile computing research. The primary goal of PhoneLab is to enable large-scale realistic smartphone experimentation at both the application layer and the platform layer.


The PigOut team investigates challenges in wide-area data analytics, where data is located at multiple data centers. It investigates the tradeoff among four aspects that characterize wide-area data analytics—latency, accuracy, privacy, and cost. Stay tuned for more information.


The RTDroid team develops a variation of Android that provides real-time guarantees. The team’s goal is to answer the question of “what does it take to add real-time support to Android?” To answer this question, the team comprehensively analyzes all layers of Android (the kernel, the runtime layer including Dalvik virtual machine, and the application framework layer) for its real-time suitability. The team then redesigns internal components of Android whenever necessary or leverages existing real-time components such as Fiji real-time Java VM, RTLinux, and RTEMS.