Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3106237.3122821acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
short-paper

RunDroid: recovering execution call graphs for Android applications

Published: 21 August 2017 Publication History

Abstract

Fault localization is a well-received technique for helping developers to identify faulty statements of a program. Research has shown that the coverages of faulty statements and its predecessors in program dependence graph are important for effective fault localization. However, app executions in Android split into segments in different components, i.e., methods, threads, and processes, posing challenges for traditional program dependence computation, and in turn rendering fault localization less effective. We present RunDroid, a tool for recovering the dynamic call graphs of app executions in Android, assisting existing tools for more precise program dependence computation. For each exectuion, RunDroid captures and recovers method calls from not only the application layer, but also between applications and the Android framework. Moreover, to deal with the widely adopted multi-threaded communications in Android applications, RunDroid also captures methods calls that are split among threads. Demo : https://github.com/MiJack/RunDroid Video : https://youtu.be/EM7TJbE-Oaw

References

[1]
2017. The AspectJ Project. (2017). Retrieved May 15,2017 from https://eclipse. org/aspectj/ 2017. Configure Apps with Over 64K Methods | Android Studio. (2017). Retrieved May 15,2017 from https://developer.android.com/studio/build/multidex.html 2017. EMMA SDK integration for Android EMMA Support. (2017).
[2]
Retrieved May 15,2017 from http://support.emma.io/hc/en-us/sections/ 201193992-EMMA-SDK-integration-for-Android 2017. Neo4j, the world’s leading graph database - Neo4j Graph Database. (2017). Retrieved May 24,2017 from https://neo4j.com/ 2017. Xposed. (2017). Retrieved May 15,2017 from http://repo.xposed.info/ module/de.robv.android.xposed.installer
[3]
Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, and Patrick McDaniel. 2014.
[4]
Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. Acm Sigplan Notices 49, 6 (2014), 259–269.
[5]
George K Baah, Andy Podgurski, and Mary Jean Harrold. 2010. Causal inference for statistical fault localization. In Proceedings of the 19th international symposium on Software testing and analysis. ACM, 73–84.
[6]
George K. Baah, Andy Podgurski, and Mary Jean Harrold. 2011. Mitigating the Confounding Effects of Program Dependences for Effective Fault Localization. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (ESEC/FSE ’11).
[7]
ML Collard, M Decker, and JI Maletic. 2013. srcML: An Infrastructure for the Exploration, Analysis, and Manipulation of Source Code. In Proceedings of 29th IEEE International Conference on Software Maintenance (ICSMâĂŹ13) Tool Demonstration Track, Eindhoven, The Netherlands. 1–4.
[8]
Li Li, Alexandre Bartel, Tegawendé F. Bissyandé, Jacques Klein, Yves Le Traon, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, and Patrick Mc-Daniel. 2015. IccTA: Detecting Inter-component Privacy Leaks in Android Apps. In Proceedings of the 37th International Conference on Software Engineering - Volume 1 (ICSE ’15).
[9]
Pedro Machado, José Campos, and Rui Abreu. 2013. MZoltar: automatic debugging of Android applications. In Proceedings of the 2013 International Workshop on Software Development Lifecycle for Mobile. ACM, 9–16.
[10]
Hamed Mirzaei and Abbas Heydarnoori. 2015. Exception fault localization in Android applications. In Mobile Software Engineering and Systems (MOBILESoft), 2015 2nd ACM International Conference on. IEEE, 156–157.
[11]
Raja Vallée-Rai, Phong Co, Etienne Gagnon, Laurie Hendren, Patrick Lam, and Vijay Sundaresan. 1999. Soot-a Java bytecode optimization framework. In Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research. IBM Press, 13.
[12]
Fengguo Wei, Sankardas Roy, Xinming Ou, and Robby. 2014. Amandroid: A Precise and General Inter-component Data Flow Analysis Framework for Security Vetting of Android Apps. In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security (CCS ’14).

Cited By

View all
  • (2023)That’s a Tough Call: Studying the Challenges of Call Graph Construction for WebAssemblyProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598104(892-903)Online publication date: 12-Jul-2023
  • (2022)DescribeCtxProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510058(685-697)Online publication date: 21-May-2022
  • (2022)ProMalProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510037(1755-1767)Online publication date: 21-May-2022
  • Show More Cited By

Index Terms

  1. RunDroid: recovering execution call graphs for Android applications

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
    August 2017
    1073 pages
    ISBN:9781450351058
    DOI:10.1145/3106237
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 21 August 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Android
    2. multi-thread
    3. software analysis

    Qualifiers

    • Short-paper

    Funding Sources

    Conference

    ESEC/FSE'17
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)16
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 30 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)That’s a Tough Call: Studying the Challenges of Call Graph Construction for WebAssemblyProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598104(892-903)Online publication date: 12-Jul-2023
    • (2022)DescribeCtxProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510058(685-697)Online publication date: 21-May-2022
    • (2022)ProMalProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510037(1755-1767)Online publication date: 21-May-2022
    • (2022)An Experience Report on Producing Verifiable Builds for Large-Scale Commercial SystemsIEEE Transactions on Software Engineering10.1109/TSE.2021.309269248:9(3361-3377)Online publication date: 1-Sep-2022
    • (2020)Effort estimation of open source Android projects via transaction analysisJournal of Software: Evolution and Process10.1002/smr.2253(e2253)Online publication date: 21-Feb-2020
    • (2019)DeepIntentProceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security10.1145/3319535.3363193(2421-2436)Online publication date: 6-Nov-2019

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media