PerfChecker project aims to help
Android developers find performance problems in their applications. We
start this
project with an
empirical
study to understand the characteristics of real-world performance
bugs in Android applications and
identify common performance bug patterns. From this study, we
identified three common patterns of performance bugs [1]:
We then desinged
algorithms to
automatically detect these problems by analyzing application code. We
implemented a prototype tool "PerfChecker" on top of
Soot,
a
widely-used static program analysis framework for Java programs.
PerfChecker supports the detection of the first and second patterns of
performance bugs. For the second pattern, we proposed an effective
detection algorithm in our ealier work [2]. To validate the usefulness
of PerfChecker, we applied it to analyze 29 large-scale and
popular-downloaded Android applications on market. Encouragingly,
PerfChecker helped find 126 previously-unknown performance threats, of
which 68 have been confirmed by developers as real bugs that affect
application perfomrance so far. Developers also have fixed 20 critical
ones out of these 68 bugs.
In this website, you will have access to the following information:
- Our empirical
study data
- PerfChecker tool and source code
- Detailed
information about our
experimental subjects and detected problems
There are chances that the data in this website are not up to date or
contain errors. You can always refer to our research work or contact us
if you have any questions.
Related project:
GreenDroid:
Automated Energy Inefficiency Diagnosis for Smartphone Applications
This project was supported by HKSAR RGC/GRF 611912.