{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,10]],"date-time":"2026-02-10T13:04:08Z","timestamp":1770728648162,"version":"3.49.0"},"reference-count":32,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2023,1,12]],"date-time":"2023-01-12T00:00:00Z","timestamp":1673481600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,1,12]],"date-time":"2023-01-12T00:00:00Z","timestamp":1673481600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"crossref","award":["2020R1C1C1014518"],"award-info":[{"award-number":["2020R1C1C1014518"]}],"id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"crossref","award":["2021R1A5A1021944"],"award-info":[{"award-number":["2021R1A5A1021944"]}],"id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100010418","name":"Institute for Information and Communications Technology Promotion","doi-asserted-by":"publisher","award":["2021-0-00758"],"award-info":[{"award-number":["2021-0-00758"]}],"id":[{"id":"10.13039\/501100010418","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Autom Softw Eng"],"published-print":{"date-parts":[[2023,5]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Mobile applications have grown rapidly in size. This dramatic increases in size and complexity make mobile applications less accessible to a broader scope of users. The prevailing approach for better accessibility of mobile applications is to manually reimplement slimmed versions with a small but representative portion of a regular original app. Unfortunately, this approach imposes significant burden on developers. We propose a system called <jats:sc>Madusa<\/jats:sc> to enable developers to effectively customize and reduce their mobile applications for Android. <jats:sc>Madusa<\/jats:sc> takes as input an original app, an upper bound on the size of a reduced version, and usage scenarios as a high-level specification of its desired core functionality. The output is a reduced version of the app that is still correct with respect to the specification while not exceeding the size limit. <jats:sc>Madusa<\/jats:sc> constructs a graph representing dependencies among methods and resources and identifies a sub-part of the graph using integer linear programming to generate a reduced version that exhibits behaviors as similar as possible to the original app. Our experimental evaluation on a suite of 19 Android apps available on Google Play Store. <jats:sc>Madusa<\/jats:sc> effectively converges to the desired simplified apps by reducing the app size by 40% on average (maximally by 60%). We conclude our approach effectively removes redundant code and resources with respect to given usage scenarios.<\/jats:p>","DOI":"10.1007\/s10515-022-00372-8","type":"journal-article","created":{"date-parts":[[2023,1,12]],"date-time":"2023-01-12T11:11:53Z","timestamp":1673521913000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Madusa: mobile application demo generation based on usage scenarios"],"prefix":"10.1007","volume":"30","author":[{"given":"Jaehyung","family":"Lee","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hangyeol","family":"Cho","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1884-619X","authenticated-orcid":false,"given":"Woosuk","family":"Lee","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,1,12]]},"reference":[{"key":"372_CR1","unstructured":"Anders\u00a0Bertelrud, P.H.: App Thinning in Xcode. https:\/\/developer.apple.com\/videos\/play\/wwdc2015\/404\/. [Online; accessed 01-October-2021] (2015)"},{"key":"372_CR2","unstructured":"Android Instant Apps - Android SDK statistics. https:\/\/www.appbrain.com\/stats\/libraries\/details\/instant-apps\/android-instant-apps. [Online; accessed 01-October-2021] (2021)"},{"key":"372_CR3","unstructured":"Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps. https:\/\/ibotpeaches.github.io\/Apktool\/. [Online; accessed 01-October-2021] (2021)"},{"key":"372_CR4","unstructured":"Apps to Try Now - Android Apps on Google Play. https:\/\/play.google.com\/store\/apps\/collection\/promotion_3002d0f_instantapps_featuredapps. [Online; accessed 01-October-2021] (2021)"},{"issue":"6","key":"372_CR5","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1145\/2666356.2594299","volume":"49","author":"S Arzt","year":"2014","unstructured":"Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., McDaniel, P.: Flowdroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. Acm Sigplan Not. 49(6), 259\u2013269 (2014)","journal-title":"Acm Sigplan Not."},{"key":"372_CR6","unstructured":"CICMalDroid 2020. https:\/\/www.unb.ca\/cic\/datasets\/maldroid-2020.html. [Online; accessed 01-October-2021] (2020)"},{"key":"372_CR7","doi-asserted-by":"publisher","first-page":"505","DOI":"10.1007\/978-3-642-24559-6_34","volume-title":"Formal methods and software engineering","author":"G Costantini","year":"2011","unstructured":"Costantini, G., Ferrara, P., Cortesi, A.: Static analysis of string values. In: Qin, S., Qiu, Z. (eds.) Formal methods and software engineering, pp. 505\u2013521. Springer, Berlin, Heidelberg (2011)"},{"key":"372_CR8","unstructured":"ELLA: a tool for binary instrumentation of android apps. https:\/\/github.com\/saswatanand\/ella. [Online; accessed 01-October-2021]"},{"key":"372_CR9","unstructured":"F-Droid - Free and open source android app repository. https:\/\/f-droid.org\/. [Online; accessed 01-October-2021]"},{"key":"372_CR10","unstructured":"Github - smali. https:\/\/github.com\/JesusFreke\/smali. [Online; accessed 01-October-2021] (2021)"},{"key":"372_CR11","unstructured":"Google Play Instant Developer Success Stories. https:\/\/developer.android.com\/topic\/google-play-instant#developer-success-stories. [Online; accessed 01-October-2021] (2021)"},{"key":"372_CR12","unstructured":"Google Play Store. https:\/\/play.google.com\/store\/apps. [Online; accessed 01-October-2021]"},{"key":"372_CR13","unstructured":"Henderson, M., Glick, K., Ng, K., Nikolic, M.: The future of apps on Android and Google Play: Modular, instant, and dynamic (Google I\/O \u201918). https:\/\/www.youtube.com\/watch?v=0raqVydJmNE. [Online; accessed 01-October-2021] (2018)"},{"key":"372_CR14","doi-asserted-by":"publisher","unstructured":"Heo, K., Lee, W., Pashakhanloo, P., Naik, M.: Effective program debloating via reinforcement learning. In: Proceedings of the 2018 ACM SIGSAC conference on computer and communications security. CCS \u201918, pp. 380\u2013394. Association for Computing Machinery, New York, NY, USA (2018). https:\/\/doi.org\/10.1145\/3243734.3243838","DOI":"10.1145\/3243734.3243838"},{"key":"372_CR15","unstructured":"Jacoco - Java code coverage for eclipse. https:\/\/www.jacoco.org\/. [Online; accessed 01-October-2021]"},{"key":"372_CR16","doi-asserted-by":"publisher","unstructured":"Jiang, Y., Bao, Q., Wang, S., Liu, X., Wu, D.: Reddroid: Android application redundancy customization based on static analysis. In: 2018 IEEE 29th international symposium on software reliability engineering (ISSRE), pp. 189\u2013199 (2018). https:\/\/doi.org\/10.1109\/ISSRE.2018.00029","DOI":"10.1109\/ISSRE.2018.00029"},{"key":"372_CR17","doi-asserted-by":"publisher","unstructured":"Jiang, Y., Wu, D., Liu, P.: Jred: Program customization and bloatware mitigation based on static analysis, In 2016 IEEE 40th annual computer software and applications conference (COMPSAC), pp. 12\u201321 (2016). https:\/\/doi.org\/10.1109\/COMPSAC.2016.146","DOI":"10.1109\/COMPSAC.2016.146"},{"key":"372_CR18","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.7272254","author":"J Lee","year":"2022","unstructured":"Lee, J., Cho, H., Lee, W.: Artifact of MADUSA: Mobile Application Demo Generation based on Usage Scenarios. Zenodo (2022). https:\/\/doi.org\/10.5281\/zenodo.7272254","journal-title":"Zenodo"},{"key":"372_CR19","doi-asserted-by":"publisher","unstructured":"Liu, J., Wu, T., Deng, X., Yan, J., Zhang, J.: Insdal: A safe and extensible instrumentation tool on dalvik byte-code for android applications. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp. 502\u2013506 (2017). https:\/\/doi.org\/10.1109\/SANER.2017.7884662","DOI":"10.1109\/SANER.2017.7884662"},{"issue":"4","key":"372_CR20","doi-asserted-by":"publisher","first-page":"765","DOI":"10.1145\/322276.322287","volume":"28","author":"CH Papadimitriou","year":"1981","unstructured":"Papadimitriou, C.H.: On the complexity of integer programming. J. ACM 28(4), 765\u2013768 (1981). https:\/\/doi.org\/10.1145\/322276.322287","journal-title":"J. ACM"},{"key":"372_CR21","doi-asserted-by":"crossref","unstructured":"Pilgun, A.: Don\u2019t trust me, test me: 100% code coverage for a 3rd-party android app. In: 2020 27th Asia-Pacific Software Engineering Conference (APSEC), pp. 375\u2013384 (2020). IEEE","DOI":"10.1109\/APSEC51365.2020.00046"},{"issue":"4","key":"372_CR22","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3395042","volume":"29","author":"A Pilgun","year":"2020","unstructured":"Pilgun, A., Gadyatskaya, O., Zhauniarovich, Y., Dashevskyi, S., Kushniarou, A., Mauw, S.: Fine-grained code coverage measurement in automated black-box android testing. ACM Trans. Softw. Eng. Methodol. (TOSEM) 29(4), 1\u201335 (2020)","journal-title":"ACM Trans. Softw. Eng. Methodol. (TOSEM)"},{"key":"372_CR23","unstructured":"Proguard \u2013 The Java optimizer for Android apps. https:\/\/www.guardsquare.com\/proguard. [Online; accessed 01-October-2021] (2021)"},{"key":"372_CR24","unstructured":"Qian, C., Hu, H., Alharthi, M., Chung, P.H., Kim, T., Lee, W.: RAZOR: A framework for post-deployment software debloating. In: 28th USENIX security symposium (USENIX Security 19), pp. 1733\u20131750. USENIX Association, Santa Clara, CA (2019). https:\/\/www.usenix.org\/conference\/usenixsecurity19\/presentation\/qian"},{"key":"372_CR25","unstructured":"Quach, A., Prakash, A., Yan, L.: Debloating software through piece-wise compilation and loading. In: 27th USENIX security symposium (USENIX Security 18), pp. 869\u2013886. USENIX Association, Baltimore, MD (2018). https:\/\/www.usenix.org\/conference\/usenixsecurity18\/presentation\/quach"},{"key":"372_CR26","unstructured":"Quick Apps - HUAWEI Developers. https:\/\/developer.huawei.com\/consumer\/en\/huawei-quickApp\/. [Online; accessed 01-October-2021]"},{"key":"372_CR27","doi-asserted-by":"publisher","unstructured":"Romdhana, A., Ceccato, M., Georgiu, G., Merlo, A., Tonella, P.: Cosmo: Code coverage made easier for android. In 2021 14th IEEE conference on software testing, verification and validation (ICST)(2021). https:\/\/doi.org\/10.1109\/ICST49551.2021.00053","DOI":"10.1109\/ICST49551.2021.00053"},{"key":"372_CR28","doi-asserted-by":"crossref","unstructured":"Tang, Y., Zhou, H., Luo, X., Chen, T., Wang, H., Xu, Z., Cai, Y.: Xdebloat: Towards automated feature-oriented app debloating. IEEE Trans. Softw. Eng. (2021)","DOI":"10.1109\/TSE.2021.3120213"},{"key":"372_CR29","unstructured":"The iPhone\u2019s Top Apps Are Nearly 4x Larger Than Five Years Ago. https:\/\/sensortower.com\/blog\/ios-app-size-growth-2021. [Online; accessed 01-October-2021] (2021)"},{"key":"372_CR30","unstructured":"UI\/Application exerciser monkey. http:\/\/developer.android.com\/tools\/help\/monkey.html. [Online; accessed 01-October-2021] (2021)"},{"key":"372_CR31","unstructured":"Xie, Q., Gong, Q., He, X., Chen, Y., Wang, X., Zheng, H., Zhao, B.: Trimming mobile applications for bandwidth-challenged networks in developing regions. IEEE Trans. Mobile Comput. (2021)"},{"key":"372_CR32","doi-asserted-by":"publisher","unstructured":"Yeh, C.-C., Huang, S.-K.: Covdroid: A black-box testing coverage system for android. In: 2015 IEEE 39th annual computer software and applications conference, vol. 3, pp. 447\u2013452 (2015). https:\/\/doi.org\/10.1109\/COMPSAC.2015.125","DOI":"10.1109\/COMPSAC.2015.125"}],"container-title":["Automated Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-022-00372-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10515-022-00372-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-022-00372-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,4]],"date-time":"2023-05-04T13:10:38Z","timestamp":1683205838000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10515-022-00372-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,1,12]]},"references-count":32,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2023,5]]}},"alternative-id":["372"],"URL":"https:\/\/doi.org\/10.1007\/s10515-022-00372-8","relation":{},"ISSN":["0928-8910","1573-7535"],"issn-type":[{"value":"0928-8910","type":"print"},{"value":"1573-7535","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,1,12]]},"assertion":[{"value":"15 March 2022","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"20 November 2022","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"12 January 2023","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}],"article-number":"8"}}