{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/42138"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/42138","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Diagnosing and debugging abnormal battery drain on smartphones","abstract":"The past few years have witnessed an evolutionary change in the smartphone ecosystem. Smartphones have gone from closed platforms containing only pre-installed applications to open platforms hosting a variety of third-party applications. Unfortunately, this change has also led to a rapid increase in Abnormal Battery Drain (ABD) problems that can be caused by software defects, mis- configuration, or environmental changes. Such issues can drain a fully-charged battery within a couple of hours, and can potentially affect a significant number of users. The goal of this thesis is to understand ABD issues, assist smartphone users to diagnose ABD issues and help developers prevent software bugs that may lead to ABD issues. We make three major contributions in different phases of smartphone application development and usage. At the beginning, we study user-reported battery drain issues from major smartphone forums. From this study, we find abnormal battery drain issues dominate user-reported issues, which are presumably more troublesome to users and more difficult for users themselves to diagnose and fix. The dominance of software energy problems highlights the need for helping app developers to avoid these mistakes. We thus conducted a more thorough analysis on common mistakes programmers make that can introduce software energy problems (e.g., bugs, defects, and inefficient designs). Specifically, we manually examined 117 energy-related software problems in open-source smartphone applications and the Android system. We present common patterns of such mistakes and inefficiencies in the real world, and provide practical implications for developers and researchers. In particular, we discuss the opportunity of using model checking approaches and profiling energy-intensive APIs to detect energy bugs, and present preliminary results. Motivated by the result, we propose eDoctor, a practical tool that helps regular users troubleshoot abnormal battery drain issues on smartphones. eDoctor leverages the concept of execution phases to capture an app’s time-varying behavior, which can then be used to identify an abnormal app. Based on the result of a diagnosis, eDoctor suggests the most appropriate repair solution to users. To evaluate eDoctor’s effectiveness, we conducted both in-lab experiments and a controlled user study with 31 participants and 17 real-world ABD issues together with 4 injected issues in 19 apps. The experimental results show that eDoctor can successfully diagnose 47 out of the 50 use cases while imposing little power overhead. Although eDoctor is designed to directly help smartphone users, the information collected by eDoctor can also be leveraged by developers to diagnose ABD issues.","abstract_html":"The past few years have witnessed an evolutionary change in the smartphone ecosystem. Smartphones have gone from closed platforms containing only pre-installed applications to open platforms hosting a variety of third-party applications. Unfortunately, this change has also led to a rapid increase in Abnormal Battery Drain (ABD) problems that can be caused by software defects, mis- configuration, or environmental changes. Such issues can drain a fully-charged battery within a couple of hours, and can potentially affect a significant number of users. The goal of this thesis is to understand ABD issues, assist smartphone users to diagnose ABD issues and help developers prevent software bugs that may lead to ABD issues. We make three major contributions in different phases of smartphone application development and usage. At the beginning, we study user-reported battery drain issues from major smartphone forums. From this study, we find abnormal battery drain issues dominate user-reported issues, which are presumably more troublesome to users and more difficult for users themselves to diagnose and fix. The dominance of software energy problems highlights the need for helping app developers to avoid these mistakes. We thus conducted a more thorough analysis on common mistakes programmers make that can introduce software energy problems (e.g., bugs, defects, and inefficient designs). Specifically, we manually examined 117 energy-related software problems in open-source smartphone applications and the Android system. We present common patterns of such mistakes and inefficiencies in the real world, and provide practical implications for developers and researchers. In particular, we discuss the opportunity of using model checking approaches and profiling energy-intensive APIs to detect energy bugs, and present preliminary results. Motivated by the result, we propose eDoctor, a practical tool that helps regular users troubleshoot abnormal battery drain issues on smartphones. eDoctor leverages the concept of execution phases to capture an app’s time-varying behavior, which can then be used to identify an abnormal app. Based on the result of a diagnosis, eDoctor suggests the most appropriate repair solution to users. To evaluate eDoctor’s effectiveness, we conducted both in-lab experiments and a controlled user study with 31 participants and 17 real-world ABD issues together with 4 injected issues in 19 apps. The experimental results show that eDoctor can successfully diagnose 47 out of the 50 use cases while imposing little power overhead. Although eDoctor is designed to directly help smartphone users, the information collected by eDoctor can also be leveraged by developers to diagnose ABD issues.","abstract_has_math":false,"creators":["Ma, Xiao"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Zhou, Yuanyuan","Zhai, ChengXiang","King, Samuel T.","Voelker, Geoffrey M."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2013,"date_issued":"2013-02-03T19:16:54Z","date_published":"2013-02-03T19:16:54Z","updated_at":"2026-07-22T22:25:31Z","subjects":["Smartphone","Mobile Computing","Energy Management","Program Analysis","Operating Systems"],"languages":["en"],"rights":["Copyright 2012 Xiao Ma"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/42138","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Zhou, Yuanyuan","Zhai, ChengXiang","King, Samuel T.","Voelker, Geoffrey M."]},{"key":"dc:creator","label":"Author","values":["Ma, Xiao"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2013-02-03T19:16:54Z","2015-02-03T11:00:52Z","2012-12"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Smartphone","Mobile Computing","Energy Management","Program Analysis","Operating Systems"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2012 Xiao Ma"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/42138"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["The past few years have witnessed an evolutionary change in the smartphone ecosystem. Smartphones have gone from closed platforms containing only pre-installed applications to open platforms hosting a variety of third-party applications. Unfortunately, this change has also led to a rapid increase in Abnormal Battery Drain (ABD) problems that can be caused by software defects, mis- configuration, or environmental changes. Such issues can drain a fully-charged battery within a couple of hours, and can potentially affect a significant number of users. The goal of this thesis is to understand ABD issues, assist smartphone users to diagnose ABD issues and help developers prevent software bugs that may lead to ABD issues. We make three major contributions in different phases of smartphone application development and usage. At the beginning, we study user-reported battery drain issues from major smartphone forums. From this study, we find abnormal battery drain issues dominate user-reported issues, which are presumably more troublesome to users and more difficult for users themselves to diagnose and fix. The dominance of software energy problems highlights the need for helping app developers to avoid these mistakes. We thus conducted a more thorough analysis on common mistakes programmers make that can introduce software energy problems (e.g., bugs, defects, and inefficient designs). Specifically, we manually examined 117 energy-related software problems in open-source smartphone applications and the Android system. We present common patterns of such mistakes and inefficiencies in the real world, and provide practical implications for developers and researchers. In particular, we discuss the opportunity of using model checking approaches and profiling energy-intensive APIs to detect energy bugs, and present preliminary results. Motivated by the result, we propose eDoctor, a practical tool that helps regular users troubleshoot abnormal battery drain issues on smartphones. eDoctor leverages the concept of execution phases to capture an app’s time-varying behavior, which can then be used to identify an abnormal app. Based on the result of a diagnosis, eDoctor suggests the most appropriate repair solution to users. To evaluate eDoctor’s effectiveness, we conducted both in-lab experiments and a controlled user study with 31 participants and 17 real-world ABD issues together with 4 injected issues in 19 apps. The experimental results show that eDoctor can successfully diagnose 47 out of the 50 use cases while imposing little power overhead. Although eDoctor is designed to directly help smartphone users, the information collected by eDoctor can also be leveraged by developers to diagnose ABD issues.","Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2012-11-29T21:05:45Z Item was in collections: University of Illinois Theses & Dissertations (ID: 1) No. of bitstreams: 1 Ma_Xiao.pdf: 1184291 bytes, checksum: a7363dfedd477866f261c34d1e314d88 (MD5)","Made available in DSpace on 2013-02-03T19:16:54Z (GMT). No. of bitstreams: 2 Xiao_Ma.pdf: 1184291 bytes, checksum: a7363dfedd477866f261c34d1e314d88 (MD5) license.txt: 4056 bytes, checksum: 8a807e95ccfd1fcb4dea3f8106962916 (MD5)","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Seth Robbins (srobbins@illinois.edu) on 2013-02-03T19:18:59Z Item is restricted until 2015-02-03T19:18:53Z","Restriction data tranferred 2014-07-01T11:11:52-05:00 Original Data Group with Access UIUC Users [automated] Release Date: 2015-02-03 13:18:53 UTC Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only Restriction Lifted for Item 42085 on 2015-02-03T11:00:52Z."]},{"key":"dc:title","label":"Title","values":["Diagnosing and debugging abnormal battery drain on smartphones"]}]}],"canonical_facts":{"dc:contributor":["Zhou, Yuanyuan","Zhai, ChengXiang","King, Samuel T.","Voelker, Geoffrey M."],"dc:creator":["Ma, Xiao"],"dc:date":["2013-02-03T19:16:54Z","2015-02-03T11:00:52Z","2012-12"],"dc:description":["The past few years have witnessed an evolutionary change in the smartphone ecosystem. Smartphones have gone from closed platforms containing only pre-installed applications to open platforms hosting a variety of third-party applications. Unfortunately, this change has also led to a rapid increase in Abnormal Battery Drain (ABD) problems that can be caused by software defects, mis- configuration, or environmental changes. Such issues can drain a fully-charged battery within a couple of hours, and can potentially affect a significant number of users. The goal of this thesis is to understand ABD issues, assist smartphone users to diagnose ABD issues and help developers prevent software bugs that may lead to ABD issues. We make three major contributions in different phases of smartphone application development and usage. At the beginning, we study user-reported battery drain issues from major smartphone forums. From this study, we find abnormal battery drain issues dominate user-reported issues, which are presumably more troublesome to users and more difficult for users themselves to diagnose and fix. The dominance of software energy problems highlights the need for helping app developers to avoid these mistakes. We thus conducted a more thorough analysis on common mistakes programmers make that can introduce software energy problems (e.g., bugs, defects, and inefficient designs). Specifically, we manually examined 117 energy-related software problems in open-source smartphone applications and the Android system. We present common patterns of such mistakes and inefficiencies in the real world, and provide practical implications for developers and researchers. In particular, we discuss the opportunity of using model checking approaches and profiling energy-intensive APIs to detect energy bugs, and present preliminary results. Motivated by the result, we propose eDoctor, a practical tool that helps regular users troubleshoot abnormal battery drain issues on smartphones. eDoctor leverages the concept of execution phases to capture an app’s time-varying behavior, which can then be used to identify an abnormal app. Based on the result of a diagnosis, eDoctor suggests the most appropriate repair solution to users. To evaluate eDoctor’s effectiveness, we conducted both in-lab experiments and a controlled user study with 31 participants and 17 real-world ABD issues together with 4 injected issues in 19 apps. The experimental results show that eDoctor can successfully diagnose 47 out of the 50 use cases while imposing little power overhead. Although eDoctor is designed to directly help smartphone users, the information collected by eDoctor can also be leveraged by developers to diagnose ABD issues.","Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2012-11-29T21:05:45Z Item was in collections: University of Illinois Theses & Dissertations (ID: 1) No. of bitstreams: 1 Ma_Xiao.pdf: 1184291 bytes, checksum: a7363dfedd477866f261c34d1e314d88 (MD5)","Made available in DSpace on 2013-02-03T19:16:54Z (GMT). No. of bitstreams: 2 Xiao_Ma.pdf: 1184291 bytes, checksum: a7363dfedd477866f261c34d1e314d88 (MD5) license.txt: 4056 bytes, checksum: 8a807e95ccfd1fcb4dea3f8106962916 (MD5)","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Seth Robbins (srobbins@illinois.edu) on 2013-02-03T19:18:59Z Item is restricted until 2015-02-03T19:18:53Z","Restriction data tranferred 2014-07-01T11:11:52-05:00 Original Data Group with Access UIUC Users [automated] Release Date: 2015-02-03 13:18:53 UTC Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only Restriction Lifted for Item 42085 on 2015-02-03T11:00:52Z."],"dc:identifier":["http://hdl.handle.net/2142/42138"],"dc:language":["en"],"dc:rights":["Copyright 2012 Xiao Ma"],"dc:subject":["Smartphone","Mobile Computing","Energy Management","Program Analysis","Operating Systems"],"dc:title":["Diagnosing and debugging abnormal battery drain on smartphones"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:31Z"}