skip to main content
10.1145/2462456.2465430acmconferencesArticle/Chapter ViewAbstractPublication PagesmobisysConference Proceedingsconference-collections
research-article

SIF: a selective instrumentation framework for mobile applications

Published: 25 June 2013 Publication History

Abstract

Mobile app ecosystems have experienced tremendous growth in the last five years. As researchers and developers turn their attention to understanding the ecosystem and its different apps, instrumentation of mobile apps is a much needed emerging capability. In this paper, we explore a selective instrumentation capability that allows users to express instrumentation specifications at a high level of abstraction; these specifications are then used to automatically insert instrumentation into binaries. The challenge in our work is to develop expressive abstractions for instrumentation that can also be implemented efficiently. Designed using requirements derived from recent research that has used instrumented apps, our selective instrumentation framework, SIF, contains abstractions that allow users to compactly express precisely which parts of the app need to be instrumented. It also contains a novel path inspection capability, and provides users feedback on the approximate overhead of the instrumentation specification. Using experiments on our SIF implementation for Android, we show that SIF can be used to compactly (in 20-30 lines of code in most cases) specify instrumentation tasks previously reported in the literature. SIF's overhead is under 2% in most cases, and its instrumentation overhead feedback is within 15% in many cases. As such, we expect that SIF can accelerate studies of the mobile app ecosystem.

References

[1]
apktool. http://code.google.com/p/android-apktool.
[2]
BCEL. http://commons.apache.org/bcel.
[3]
dex2jar. http://code.google.com/p/dex2jar.
[4]
flurry. http://www.flurry.com.
[5]
traceview. http://developer.android.com/guide/developing/debugging/debugging-tracing.html.
[6]
K. W. Y. Au, Y. F. Zhou, Z. Huang, and D. Lie. Pscout: analyzing the android permission specification. In Proc. of ACM CCS, 2012.
[7]
V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: a transparent dynamic optimization system. In ACM SIGPLAN Notices, 2000.
[8]
T. Ball and J. R. Larus. Efficient path profiling. In Proc. of ACM/IEEE MICRO, 1996.
[9]
B. Davis, B. Sanders, A. Khodaverdian, and H. Chen. I-arm-droid: A rewriting framework for in-app reference monitors for android applications. MoST, 2012.
[10]
K. De Volder and T. D'Hondt. Aspect-oriented logic meta programming. In Proc. of ACM Reflection, 1999.
[11]
D. Garbervetsky, C. Nakhli, S. Yovine, and H. Zorgati. Program instrumentation and run-time analysis of scoped memory in java. Electronic Notes in Theoretical Computer Science, 2005.
[12]
J. Hollingsworth, B. Miller, and J. Cargille. Dynamic program instrumentation for scalable performance tools. In Proc. of IEEE SHPCC, 1994.
[13]
J. Huang. Detection of data flow anomaly through program instrumentation. IEEE TOSE, 1979.
[14]
J. Irwin, J. Loingtier, J. Gilbert, G. Kiczales, J. Lamping, A. Mendhekar, and T. Shpeisman. Aspect-oriented programming of sparse matrix code. In Proc. of ISCOPE, 1997.
[15]
J. Jeon, K. K. Micinski, J. A. Vaughan, A. Fogel, N. Reddy, J. S. Foster, and T. Millstein. Dr. android and mr. hide: fine-grained permissions in android applications. In Proc. of CCS SPSM, 2012.
[16]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-oriented programming. Proc. of ECOOP, 1997.
[17]
R. Laddad. AspectJ in action: practical aspect-oriented programming. Manning, 2003.
[18]
K. Lieberherr. Adaptive object-oriented software the demeter method. PWS Boston, 1996.
[19]
C. Lopes. D: A language framework for distributed programming. PhD thesis, Northeastern University, 1997.
[20]
C. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. Reddi, and K. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In Proc. of ACM SIGPLAN Notices, 2005.
[21]
A. Mendhekar, G. Kiczales, and J. Lamping. Rg: A case-study for aspect-oriented programming. Technical report, SPL97-009, 1997.
[22]
M. Nauman, S. Khan, and X. Zhang. Apex: extending android permission model and enforcement with user-defined runtime constraints. In Proc. of CCS SPSM, 2010.
[23]
N. Nethercote and J. Seward. Valgrind: a framework for heavyweight dynamic binary instrumentation. In Proc. of ACM PLDI, 2007.
[24]
P. Pearce, P. A. Felt, G. Nunez, and D. Wagner. AdDroid: Privilege Separation for Applications and Advertisers in Android. In Proc. of ACM ASIACCS, 2011.
[25]
L. Ravindranath, J. Padhye, S. Agarwal, R. Mahajan, I. Obermiller, and S. Shayandeh. AppInsight: mobile app performance monitoring in the wild. In Proc. of ACM OSDI, 2012.
[26]
D. Reynaud, T. Song, E. Magrino, R. Wu, and Shin. Freemarket: Shopping for free in android applications. NDSS, 2012.
[27]
A. Seesing and A. Orso. Insectj: a generic instrumentation framework for collecting dynamic information within eclipse. In Proc. of OOPSLA on Eclipse Technology eXchange, 2005.
[28]
O. Spinczyk, A. Gal, and W. Schröder-Preikschat. Aspectc++: an aspect-oriented extension to the c++ programming language. In Proc. of ACM TOOLS Pacific, 2002.
[29]
D. Zaparanuks and M. Hauswirth. Algorithmic profiling. In Proc. of ACM PLDI, 2012.
[30]
Y. Zhou, X. Zhang, X. Jiang, and V. W. Freeh. Taming information-stealing smartphone applications (on android). In Proc. of TRUST, 2011.

Cited By

View all
  • (2023)Trimming Mobile Applications for Bandwidth-Challenged Networks in Developing RegionsIEEE Transactions on Mobile Computing10.1109/TMC.2021.308812122:1(556-573)Online publication date: 1-Jan-2023
  • (2021)Automated, Dynamic Android App Vulnerability and Privacy Leak Analysis: Design Considerations, Required Components and Available ToolsProceedings of the 2021 European Interdisciplinary Cybersecurity Conference10.1145/3487405.3487652(1-6)Online publication date: 10-Nov-2021
  • (2021)SAND: a static analysis approach for detecting SQL antipatternsProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464818(270-282)Online publication date: 11-Jul-2021
  • Show More Cited By

Index Terms

  1. SIF: a selective instrumentation framework for mobile applications

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    MobiSys '13: Proceeding of the 11th annual international conference on Mobile systems, applications, and services
    June 2013
    568 pages
    ISBN:9781450316729
    DOI:10.1145/2462456
    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]

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 June 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. app instrumentation
    2. programming framework
    3. separation of concerns
    4. smartphone

    Qualifiers

    • Research-article

    Conference

    MobiSys'13
    Sponsor:

    Acceptance Rates

    MobiSys '13 Paper Acceptance Rate 33 of 211 submissions, 16%;
    Overall Acceptance Rate 274 of 1,679 submissions, 16%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)17
    • Downloads (Last 6 weeks)6
    Reflects downloads up to 15 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Trimming Mobile Applications for Bandwidth-Challenged Networks in Developing RegionsIEEE Transactions on Mobile Computing10.1109/TMC.2021.308812122:1(556-573)Online publication date: 1-Jan-2023
    • (2021)Automated, Dynamic Android App Vulnerability and Privacy Leak Analysis: Design Considerations, Required Components and Available ToolsProceedings of the 2021 European Interdisciplinary Cybersecurity Conference10.1145/3487405.3487652(1-6)Online publication date: 10-Nov-2021
    • (2021)SAND: a static analysis approach for detecting SQL antipatternsProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464818(270-282)Online publication date: 11-Jul-2021
    • (2019)PerfProbeProceedings of the 6th International Conference on Mobile Software Engineering and Systems10.5555/3340730.3340743(50-61)Online publication date: 25-May-2019
    • (2019)PerfProbe: A Systematic, Cross-Layer Performance Diagnosis Framework for Mobile Platforms2019 IEEE/ACM 6th International Conference on Mobile Software Engineering and Systems (MOBILESoft)10.1109/MOBILESoft.2019.00018(50-61)Online publication date: May-2019
    • (2018)AdapTracerJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2018.05.01188:C(74-86)Online publication date: 1-Aug-2018
    • (2018)DBAF: Dynamic Binary Analysis Framework and Its ApplicationsNetwork and System Security10.1007/978-3-030-02744-5_27(361-375)Online publication date: 18-Dec-2018
    • (2017)ReptorProceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services10.1145/3081333.3081341(399-412)Online publication date: 16-Jun-2017
    • (2017)CollaDroidProceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing10.1145/2998181.2998278(2462-2474)Online publication date: 25-Feb-2017
    • (2017)A Taxonomy and Qualitative Comparison of Program Analysis Techniques for Security Assessment of Android SoftwareIEEE Transactions on Software Engineering10.1109/TSE.2016.261530743:6(492-530)Online publication date: 1-Jun-2017
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media