Title: Understanding and Detecting Wake Lock Misuses for Android Applications
Speaker: Shing-Chi Cheung, Department of Computer Science and Engineering,
The Hong Kong University of Science and Technology
Time: 10:00am, Thursday, March 16, 2017
Venue: Room 334, Building 5, Institute of Software, Chinese Academy of Sciences
Wake locks are widely used in Android apps to protect critical computations from being disrupted by device sleeping. Inappropriate use of wake locks often seriously impacts user experience. However, little is known on how wake locks are used in real-world Android apps and the impact of their misuses. To bridge the gap, we conducted a large-scale empirical study on 44,736 commercial and 31 open-source Android apps. By automated program analysis and manual investigation, we observed (1) common program points where wake locks are acquired and released, (2) 13 types of critical computational tasks that are often protected by wake locks, and (3) eight patterns of wake lock misuses that commonly cause functional and non-functional issues, only three of which had been studied by existing work. Based on our ﬁndings, we designed a static analysis technique, Elite, to detect two most common patterns of wake lock misuses. Our experiments on real-world subjects showed that Elite is eﬀective and can outperform two state-of-the-art techniques. We have also built a corpus on Android resource leakage issues from 124,214 code revisions of 34 large-scale open source Android apps. The corpus can facilitate future studies on leakage issues in Android apps.
Shing-Chi (S.C.) Cheung received his Bachelor’s degree in Electrical and Electronic Engineering from the University of Hong Kong, and his PhD degree in Computing from the Imperial College London. After doctoral graduation, he joined the Hong Kong University of Science and Technology (HKUST) where he is a professor of Computer Science and Engineering. He founded the CASTLE research group at HKUST and co-founded the International Workshop on Automation of Software Testing (AST). He serves on the editorial board of Science of Computer Programming (SCP) and Journal of Computer Science and Technology (JCST). He was an editorial board member of the IEEE Transactions on Software Engineering (TSE, 2006-9) and Information and Software Technology (IST, 2012-5). He participates actively in the program and organizing committees of major international software engineering conferences. He chaired the 19th Asia-Pacific Software Engineering Conference (APSEC) in 1996, 1997 and 2012. He was the General Chair of the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2014). He is an extended member of the ACM SIGSOFT executive committee. He owns four patents in China and the United States. His research interests lie in the software engineering methodologies that boost developer productivity and code quality using program analysis, testing and debugging, machine learning, crowdsourcing and open source software repository. He is a distinguished scientist of the ACM and a fellow of the British Computer Society.