Blogs (9) >>
SPLASH 2016
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Fri 4 Nov 2016 13:55 - 14:20 at Matterhorn 1 - Bug Detection Analysis and Model Checking Chair(s): Ben Livshits

Smartphone apps create and handle a large variety of “instance” data that has to persist across runs, such as the current navigation route, workout results, antivirus settings, or game state. Due to the nature of the smartphone platform, an app can be paused, sent into background, or killed at any time. If the instance data is not saved and restored between runs, in addition to data loss, partially-saved or corrupted data can crash the app upon resume or restart. While smartphone platforms offer API support for data-saving and data-retrieving operations, the use of this API is ad-hoc: left to the programmer, rather than enforced by the compiler. We have observed that several categories of bugs—including data loss, failure to resume/restart or resuming/restarting in the wrong state—are due to incorrect handling of instance data and are easily triggered by just pressing the ‘Home’; or ‘Back’; buttons. To help address this problem, we have constructed a tool chain for Android (the KREfinder static analysis and the KREreproducer input generator) that helps find and reproduce such incorrect handling. We have evaluated our approach by running the static analysis on 324 apps, of which 49 were further analyzed manually. Results indicate that our approach is (i) effective, as it has discovered 49 bugs, including in popular Android apps, and (ii) efficient, completing on average in 61 seconds per app. More generally, our approach helps determine whether an app saves too much or too little state.

Conference Day
Fri 4 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10
Bug Detection Analysis and Model CheckingOOPSLA at Matterhorn 1
Chair(s): Ben LivshitsMicrosoft Research
13:30
25m
Talk
Finding Compiler Bugs via Live Code Mutation
OOPSLA
Chengnian SunUniversity of California, Davis, Vu LeMicrosoft, Zhendong SuUniversity of California, Davis
DOI Media Attached
13:55
25m
Talk
Finding Resume and Restart Errors in Android Applications
OOPSLA
Zhiyong ShanUniversity of Central Missouri, USA, Tanzirul AzimUniversity of California at Riverside, USA, Iulian NeamtiuNew Jersey Institute of Technology, USA
DOI Pre-print
14:20
25m
Talk
Low-Overhead and Fully Automated Statistical Debugging with Abstraction RefinementAEC
OOPSLA
Zhiqiang ZuoUniversity of California, Irvine, Lu FangUniversity of California, Irvine, Siau-Cheng Khoo, Harry XuUniversity of California, Irvine, Shan LuUniversity of Chicago
DOI Media Attached
14:45
25m
Talk
To Be Precise: Regression Aware Debugging
OOPSLA
Rohan BavishiIIT Kanpur, India, Awanish PandeyIIT Kanpur, India, Subhajit RoyIIT Kanpur, India
DOI