TY - GEN
T1 - Towards self-healing smartphone software via automated patching
AU - Azim, Tanzirul
AU - Neamtiu, Iulian
AU - Marvel, Lisa
N1 - Publisher Copyright:
© 2014 ACM.
PY - 2014
Y1 - 2014
N2 - Frequent app bugs and low tolerance for loss of functionality create an impetus for self-healing smartphone software. We take a step towards this via on-the-fly error detection and automated patching. Specifically, we add failure detection and recovery to Android by detecting crashes and "sealing off" the crashing part of the app to avoid future crashes. In the detection stage, our system dynamically analyzes app execution to detect certain exceptional situations. In the recovery stage, we use bytecode rewriting to alter app behavior as to avoid such situations in the future. When using our implementation, apps can resume operation (albeit with limited functionality) instead of repeatedly crashing. Our approach does not require access to app source code or any system (e.g., kernel-level) modification. Experiments on several real-world, popular Android apps and bugs show that our approach manages to recover the apps from crashes effectively, timely, and without introducing overhead.
AB - Frequent app bugs and low tolerance for loss of functionality create an impetus for self-healing smartphone software. We take a step towards this via on-the-fly error detection and automated patching. Specifically, we add failure detection and recovery to Android by detecting crashes and "sealing off" the crashing part of the app to avoid future crashes. In the detection stage, our system dynamically analyzes app execution to detect certain exceptional situations. In the recovery stage, we use bytecode rewriting to alter app behavior as to avoid such situations in the future. When using our implementation, apps can resume operation (albeit with limited functionality) instead of repeatedly crashing. Our approach does not require access to app source code or any system (e.g., kernel-level) modification. Experiments on several real-world, popular Android apps and bugs show that our approach manages to recover the apps from crashes effectively, timely, and without introducing overhead.
KW - Automated software repair
KW - Automatic patch construction
KW - Bytecode rewriting
KW - Google android
KW - Self-healing software
KW - Smartphone applications
UR - http://www.scopus.com/inward/record.url?scp=84908610656&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84908610656&partnerID=8YFLogxK
U2 - 10.1145/2642937.2642955
DO - 10.1145/2642937.2642955
M3 - Conference contribution
AN - SCOPUS:84908610656
T3 - ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
SP - 623
EP - 628
BT - ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
PB - Association for Computing Machinery, Inc
T2 - 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014
Y2 - 15 September 2014 through 19 September 2014
ER -