{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T14:29:33Z","timestamp":1742912973233,"version":"3.40.3"},"publisher-location":"Cham","reference-count":37,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031198489"},{"type":"electronic","value":"9783031198496"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-19849-6_19","type":"book-chapter","created":{"date-parts":[[2022,10,19]],"date-time":"2022-10-19T15:03:32Z","timestamp":1666191812000},"page":"320-334","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Non-functional Testing of\u00a0Runtime Enforcers in\u00a0Android"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2120-2894","authenticated-orcid":false,"given":"Oliviero","family":"Riganelli","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1261-2234","authenticated-orcid":false,"given":"Daniela","family":"Micucci","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9527-7042","authenticated-orcid":false,"given":"Leonardo","family":"Mariani","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,10,17]]},"reference":[{"unstructured":"Android Docs: Camera API (2020). https:\/\/developer.android.com\/guide\/topics\/media\/camera","key":"19_CR1"},{"unstructured":"Android Docs: App startup time (2022). https:\/\/developer.android.com\/topic\/performance\/vitals\/launch-time","key":"19_CR2"},{"unstructured":"Android Docs: dumpsys (2022). https:\/\/developer.android.com\/studio\/command-line\/dumpsys","key":"19_CR3"},{"unstructured":"Android Docs: Profile your app performance (2022). https:\/\/developer.android.com\/studio\/profile","key":"19_CR4"},{"unstructured":"Android Docs: The Android Profiler (2022). https:\/\/developer.android.com\/studio\/profile\/android-profiler","key":"19_CR5"},{"unstructured":"Android Docs: The Android Studio. https:\/\/developer.android.com\/studio (2022)","key":"19_CR6"},{"issue":"3","key":"19_CR7","doi-asserted-by":"publisher","first-page":"423","DOI":"10.1007\/s11219-014-9242-6","volume":"23","author":"F Belli","year":"2015","unstructured":"Belli, F., Beyaz\u0131t, M., Endo, A.T., Mathur, A., Simao, A.: Fault domain-based testing in imperfect situations: a heuristic approach and case studies. Software Qual. J. 23(3), 423\u2013452 (2015)","journal-title":"Software Qual. J."},{"key":"19_CR8","doi-asserted-by":"publisher","first-page":"178","DOI":"10.1109\/TSE.1978.231496","volume":"3","author":"TS Chow","year":"1978","unstructured":"Chow, T.S.: Testing software design modeled by finite-state machines. IEEE Trans. Software Eng. 3, 178\u2013187 (1978)","journal-title":"IEEE Trans. Software Eng."},{"doi-asserted-by":"crossref","unstructured":"Dai, Y., Xiang, Y., Zhang, G.: Self-healing and hybrid diagnosis in cloud computing. In: Proceedings of the International Conference on Cloud Computing (CloudCom) (2009)","key":"19_CR9","DOI":"10.1007\/978-3-642-10665-1_5"},{"doi-asserted-by":"crossref","unstructured":"Daian, P., Falcone, Y., Meredith, P.O., Serbanuta, T., Shiriashi, S., Iwai, A., Rosu, G.: Rv-android: Efficient parametric android runtime verification, a brief tutorial. In: Proceedings of the International Conference on Runtime Verification (RV) (2015)","key":"19_CR10","DOI":"10.1007\/978-3-319-23820-3_24"},{"doi-asserted-by":"crossref","unstructured":"Falcone, Y., Currea, S., Jaber, M.: Runtime verification and enforcement for android applications with RV-Droid. In: Proceedings of the International Conference on Runtime Verification (RV) (2012)","key":"19_CR11","DOI":"10.1007\/978-3-642-35632-2_11"},{"doi-asserted-by":"crossref","unstructured":"Falcone, Y.: You should better enforce than verify. In: Proceedings of the International Conference on Runtime Verification (RV) (2010)","key":"19_CR12","DOI":"10.1007\/978-3-642-16612-9_9"},{"doi-asserted-by":"crossref","unstructured":"Guzman, M., Riganelli, O., Micucci, D., Mariani, L.: Test4enforcers: Test case generation for software enforcers. In: Proceedings of the International Conference on Runtime Verification (RV) (2020)","key":"19_CR13","DOI":"10.1007\/978-3-030-60508-7_15"},{"doi-asserted-by":"crossref","unstructured":"Hort, M., Kechagia, M., Sarro, F., Harman, M.: A survey of performance optimization for mobile applications. IEEE Trans. Softw. Eng. (2021)","key":"19_CR14","DOI":"10.1109\/TSE.2021.3071193"},{"issue":"1","key":"19_CR15","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1016\/j.cosrev.2012.01.001","volume":"6","author":"R Khoury","year":"2012","unstructured":"Khoury, R., Tawbi, N.: Which security policies are enforceable by runtime monitors? a survey. Comput. Sci. Rev. 6(1), 27\u201345 (2012)","journal-title":"Comput. Sci. Rev."},{"doi-asserted-by":"crossref","unstructured":"Kong, P., Li, L., Gao, J., Liu, K., Bissyand\u00e9, T.F., Klein, J.: Automated testing of android apps: a systematic literature review. IEEE Trans. Reliability (2019)","key":"19_CR16","DOI":"10.1109\/TR.2018.2865733"},{"doi-asserted-by":"crossref","unstructured":"Lanotte, R., Merro, M., Munteanu, A.: Runtime enforcement for control system security. In: Proceedings of the Computer Security Foundations Symposium (CSF) (2020)","key":"19_CR17","DOI":"10.1109\/CSF49147.2020.00025"},{"issue":"8","key":"19_CR18","doi-asserted-by":"publisher","first-page":"1090","DOI":"10.1109\/5.533956","volume":"84","author":"D Lee","year":"1996","unstructured":"Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines-a survey. Proc. IEEE 84(8), 1090\u20131123 (1996)","journal-title":"Proc. IEEE"},{"unstructured":"Li, Y., Ziyue, Y., Yao, G., Xiangqun, C.: Droidbot: a lightweight ui-guided test input generator for android. In: Proceedings of the International Conference on Software Engineering Companion (ICSE) (2017)","key":"19_CR19"},{"key":"19_CR20","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1007\/s10207-004-0046-8","volume":"4","author":"J Ligatti","year":"2005","unstructured":"Ligatti, J., Bauer, L., Walker, D.: Edit automata: enforcement mechanisms for run-time security policies. Int. J. Inf. Secur. 4, 2\u201316 (2005)","journal-title":"Int. J. Inf. Secur."},{"doi-asserted-by":"crossref","unstructured":"Linares-Vasquez, M., Vendome, C., Luo, Q., Poshyvanyk, D.: How developers detect and fix performance bottlenecks in android apps. In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME) (2015)","key":"19_CR21","DOI":"10.1109\/ICSM.2015.7332486"},{"doi-asserted-by":"crossref","unstructured":"Linares-V\u00e1squez, M., Moran, K., Poshyvanyk, D.: Continuous, evolutionary and large-scale: a new perspective for automated mobile app testing. In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME) (2017)","key":"19_CR22","DOI":"10.1109\/ICSME.2017.27"},{"doi-asserted-by":"crossref","unstructured":"Liu, J., Wu, T., Yan, J., Zhang, J.: Fixing resource leaks in android apps with light-weight static analysis and low-overhead instrumentation. In: Proceedings of the International Symposium on Software Reliability Engineering (ISSRE) (2016)","key":"19_CR23","DOI":"10.1109\/ISSRE.2016.15"},{"doi-asserted-by":"crossref","unstructured":"Luo, G., Petrenko, A., Bochmann, G.V.: Selecting test sequences for partially-specified nondeterministic finite state machines. In: Proceedings of the IFIP WG 6.1 International Workshop on Protocol Text Systems (1995)","key":"19_CR24","DOI":"10.1007\/978-0-387-34883-4_6"},{"doi-asserted-by":"crossref","unstructured":"Magalh\u00e3es, J.a.P., Silva, L.M.: Sh\u00f5wa: A self-healing framework for web-based applications. ACM Trans. Autonomous Adaptive Syst. 10(1), 4:1\u20134:28 (2015)","key":"19_CR25","DOI":"10.1145\/2700325"},{"doi-asserted-by":"crossref","unstructured":"Memon, A.M., Banerjee, I., Nguyen, B.N., Robbins, B.: The first decade of gui ripping: Extensions, applications, and broader impacts. In: Proceedings of the Working Conference on Reverse Engineering (WCRE) (2013)","key":"19_CR26","DOI":"10.1109\/WCRE.2013.6671275"},{"unstructured":"Molyneaux, I.: The art of application performance testing: from strategy to tools. \u201cO\u2019Reilly Media, Inc.\u201d (2014)","key":"19_CR27"},{"doi-asserted-by":"crossref","unstructured":"Muccini, H., Di Francesco, A., Esposito, P.: Software testing of mobile applications: challenges and future research directions. In: Proceedings of the International Workshop on Automation of Software Test (AST) (2012)","key":"19_CR28","DOI":"10.1109\/IWAST.2012.6228987"},{"doi-asserted-by":"crossref","unstructured":"Riganelli, O., Micucci, D., Mariani, L.: Healing data loss problems in android apps. In: Proceedings of the International Workshop on Software Faults (IWSF), co-located with the International Symposium on Software Reliability Engineering (ISSRE) (2016)","key":"19_CR29","DOI":"10.1109\/ISSREW.2016.50"},{"doi-asserted-by":"crossref","unstructured":"Riganelli, O., Micucci, D., Mariani, L.: Increasing the reusability of enforcers with lifecycle events. In: Proceedings of the International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISOLA) (2018)","key":"19_CR30","DOI":"10.1007\/978-3-030-03427-6_7"},{"doi-asserted-by":"crossref","unstructured":"Riganelli, O., Micucci, D., Mariani, L.: Policy enforcement with proactive libraries. In: Proceedings of the IEEE\/ACM International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) (2017)","key":"19_CR31","DOI":"10.1109\/SEAMS.2017.9"},{"doi-asserted-by":"crossref","unstructured":"Riganelli, O., Micucci, D., Mariani, L.: Controlling interactions with libraries in android apps through runtime enforcement. ACM Trans. Autonomous Adaptive Syst. 14(2), 8:1\u20138:29 (2019)","key":"19_CR32","DOI":"10.1145\/3368087"},{"doi-asserted-by":"crossref","unstructured":"Riganelli, O., Micucci, D., Mariani, L., Falcone, Y.: Verifying policy enforcers. In: Proceedings of the International Conference on Runtime Verification (RV) (2017)","key":"19_CR33","DOI":"10.1007\/978-3-319-67531-2_15"},{"issue":"4","key":"19_CR34","doi-asserted-by":"publisher","first-page":"413","DOI":"10.1109\/32.16602","volume":"15","author":"DP Sidhu","year":"1989","unstructured":"Sidhu, D.P., Leung, T.K.: Formal methods for protocol testing: a detailed study. IEEE Trans. Software Eng. 15(4), 413\u2013426 (1989)","journal-title":"IEEE Trans. Software Eng."},{"doi-asserted-by":"crossref","unstructured":"Sidiroglou, S., Laadan, O., Perez, C., Viennot, N., Nieh, J., Keromytis, A.D.: ASSURE: automatic software self-healing using rescue points. In: Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (2009)","key":"19_CR35","DOI":"10.1145\/1508244.1508250"},{"unstructured":"Statista: Number of apps available in leading app stores as of 2022 (2022). https:\/\/www.statista.com\/statistics\/276623\/number-of-apps-available-in-leading-app-stores\/","key":"19_CR36"},{"doi-asserted-by":"crossref","unstructured":"Yang, S., Yan, D., Rountev, A.: Testing for poor responsiveness in android applications. In: Proceedings of the International Workshop on the Engineering of Mobile-Enabled Systems (MOBS) (2013)","key":"19_CR37","DOI":"10.1109\/MOBS.2013.6614215"}],"container-title":["Lecture Notes in Computer Science","Leveraging Applications of Formal Methods, Verification and Validation. Verification Principles"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-19849-6_19","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,10,20]],"date-time":"2022-10-20T00:09:08Z","timestamp":1666224548000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-19849-6_19"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031198489","9783031198496"],"references-count":37,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-19849-6_19","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"17 October 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ISoLA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Leveraging Applications of Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Rhodes","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Greece","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 October 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 October 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"isola2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.isola-conference.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}