skip to main content
10.1145/1868447.1868469acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

Diagnosing mobile applications in the wild

Published:20 October 2010Publication History

ABSTRACT

There are a lot of applications that run on modern mobile operating systems. Inevitably, some of these applications fail in the hands of users. Diagnosing a failure to identify the culprit, or merely reproducing that failure in the lab is difficult. To get insight into this problem, we interviewed developers of five mobile applications and analyzed hundreds of trouble tickets. We find that support for diagnosing unexpected application behavior is lacking across major mobile platforms. Even when developers implement heavy-weight logging during controlled trials, they do not discover many dependencies that are then stressed in the wild. They are also not well-equipped to understand how to monitor the large number of dependencies without impacting the phone's limited resources such as CPU and battery. Based on these findings, we argue for three fundamental changes to failure reporting on mobile phones. The first is spatial spreading, which exploits the large number of phones in the field by spreading the monitoring work across them. The second is statistical inference, which builds a conditional distribution model between application behavior and its dependencies in the presence of partial information. The third is adaptive sampling, which dynamically varies what each phone monitors, to adapt to both the varying population of phones and what is being learned about each failure. We propose a system called MobiBug that combines these three techniques to simplify the task of diagnosing mobile applications.

References

  1. Android Developers Blog: Android Application Error Reports. http://android-developers.blogspot.com/2010/05/google-feedback-for-android.html.Google ScholarGoogle Scholar
  2. Application Crash Report for Android. http://code.google.com/p/acra/.Google ScholarGoogle Scholar
  3. Remotely log unhandled exceptions in your Android Applications. http://code.google.com/p/android-remote-stacktrace/.Google ScholarGoogle Scholar
  4. Windows Phone Developer Portal. http://developer.windowsphone.com.Google ScholarGoogle Scholar
  5. M. K. Aguilera, J. C. Mogul, J. L. Wiener, P. Reynolds, and A. Muthitacharoen. Performance debugging for distributed systems of black boxes. In ACM SOSP, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Andrzejewski, A. Mulhern, B. Liblit, and X. Zhu. Statistical debugging using latent topic models. In ECML, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Arumuga Nainar and B. Liblit. Adaptive bug isolation. In ICSE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Barham, A. Donnelly, R. Isaacs, and R. Mortier. Using Magpie for request extraction and workload modelling. In OSDI, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Y. Chen, A. Accardi, E. Kiciman, J. Lloyd, D. Patterson, A. Fox, and E. Brewer. Path-based failure and evolution management. In NSDI, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Y. Chen, E. Kiciman, E. Fratkin, A. Fox, and E. Brewer. Pinpoint: Problem determination in large, dynamic internet services. In DSN, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Chilimbi, B. Liblit, K. Mehra, A. Nori, and K. Vaswani. Holmes: Effective statistical debugging via efficient path profiling. In ICSE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. I. Cohen, M. Goldszmidt, T. Kelly, J. Symons, and J. S. Chase. Correlating instrumentation data to system states: A building block for automated diagnosis and control. In OSDI, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Khan, H. K. Le, H. Ahmadi, T. Abdelzaher, and J. Han. DustMiner: Troubleshooting Interactive Complexity Bugs in Sensor Networks. In Sensys, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Kiciman and H. J. Wang. Live monitoring: Using adaptive instrumentation and analysis to debug and maintain web applications. In HotOS XI, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. Liblit, A. Aiken, A. X. Zheng, and M. I. Jordan. Bug isolation via remote program sampling. In PLDI, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable statistical bug isolation. In PLDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. P. Miller, M. D. Callaghan, J. M. Cargille, J. K. Hollingsworth, R. B. Irvin, K. L. Karavanic, K. Kunchithapadam, and T. Newhall. The paradyn parallel performance measurement tools. IEEE COMPUTER, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. Murphy. An introduction to graphical models. 2001.Google ScholarGoogle Scholar
  19. R. R. Sambasivan, A. X. Zheng, E. Thereska, and G. R. Ganger. Categorizing and differencing system behaviours. In HotAC II, 2007.Google ScholarGoogle Scholar
  20. C. Yuan, N. Lao, J.-R. Wen, J. Li, Z. Zhang, Y.-M. Wang, and W.-Y. Ma. Automated known problem diagnosis with event traces. In EuroSys, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Diagnosing mobile applications in the wild

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                Hotnets-IX: Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks
                October 2010
                136 pages
                ISBN:9781450304092
                DOI:10.1145/1868447

                Copyright © 2010 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 20 October 2010

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Overall Acceptance Rate110of460submissions,24%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader