.............................................................................................................................. ii Dedication .......................................................................................................................... iii Acknowledgments.............................................................................................................. iv Vita ...................................................................................................................................... v List of Tables ..................................................................................................................... ix List of Figures ..................................................................................................................... x Chapter 1: Introduction ...................................................................................................... 1 Chapter 2: Literature Survey and Related Work ................................................................. 3 Chapter 3: Background ....................................................................................................... 5 3.1: Andriod .................................................................................................................... 5 3.2: Andriod Applications ............................................................................................... 5 3.3: Hang Problem........................................................................................................... 6 3.3.1: Reasons for Hang .............................................................................................. 6 3.4: Soft Hang ................................................................................................................. 7 Chapter 4: Algorithm Design .............................................................................................. 9 vii 4.1: Overview .................................................................................................................. 9 4.2: Algorithm Development ......................................................................................... 10 4.2.1: Event Detector ................................................................................................. 10 4.2.2: Trace Scheduler ............................................................................................... 10 4.2.3: Trace Collector ................................................................................................ 11 4.3: Implementation ...................................................................................................... 12 Chapter 5: Algorithm Evalutaion ...................................................................................... 25 5.1: Evaluation .............................................................................................................. 25 5.2: Experimental Set-up ............................................................................................... 25 5.3: Hang Bug Detection ............................................................................................... 26 5.3.1: Delay................................................................................................................ 28 5.3.2: Number of Hangs Detected ............................................................................. 28 5.3.3: Overhead Analysis........................................................................................... 29 5.3.4: Main Thread Overhead .................................................................................... 29 5.3.5: Whole App Overhead ...................................................................................... 29 Chapter 6: Results and Conclusions ................................................................................. 30 6.1: Delay ...................................................................................................................... 30 6.2: Number of Hangs Detected .................................................................................... 32 6.3: Main Thread Overhead .......................................................................................... 34 viii 6.4: Whole App Overhead ............................................................................................. 36 6.5: Conclusions ............................................................................................................ 38 References ......................................................................................................................... 39
[1]
Atanas Rountev,et al.
Testing for poor responsiveness in android applications
,
2013,
2013 1st International Workshop on the Engineering of Mobile-Enabled Systems (MOBS).
[2]
Matthias Hauswirth,et al.
Catch me if you can: performance bug detection in the wild
,
2011,
OOPSLA '11.
[3]
Yepang Liu,et al.
Characterizing and detecting performance bugs for smartphone applications
,
2014,
ICSE.
[4]
Yu Lin,et al.
Retrofitting concurrency for Android applications through refactoring
,
2014,
FSE 2014.
[5]
Haibo Chen,et al.
Why software hangs and what can be done with it
,
2010,
2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN).
[6]
Haoxiang Lin,et al.
Hang analysis: fighting responsiveness bugs
,
2008,
Eurosys '08.