{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,13]],"date-time":"2026-06-13T18:23:50Z","timestamp":1781375030432,"version":"3.54.1"},"reference-count":43,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2022,5,30]],"date-time":"2022-05-30T00:00:00Z","timestamp":1653868800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"},{"start":{"date-parts":[[2022,5,30]],"date-time":"2022-05-30T00:00:00Z","timestamp":1653868800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100000781","name":"European Research Council","doi-asserted-by":"publisher","award":["741278"],"award-info":[{"award-number":["741278"]}],"id":[{"id":"10.13039\/501100000781","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100000266","name":"Engineering and Physical Sciences Research Council","doi-asserted-by":"publisher","award":["EP\/P023991\/1"],"award-info":[{"award-number":["EP\/P023991\/1"]}],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2022,9]]},"DOI":"10.1007\/s10664-022-10137-2","type":"journal-article","created":{"date-parts":[[2022,5,31]],"date-time":"2022-05-31T15:05:17Z","timestamp":1654009517000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":13,"title":["How do Android developers improve non-functional properties of software?"],"prefix":"10.1007","volume":"27","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5692-6203","authenticated-orcid":false,"given":"James","family":"Callan","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Oliver","family":"Krauss","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Justyna","family":"Petke","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Federica","family":"Sarro","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2022,5,30]]},"reference":[{"key":"10137_CR1","doi-asserted-by":"crossref","unstructured":"Bader J, Scott A, Pradel M, Chandra S (2019) Getafix: learning to fix bugs automatically. In: Proceedings of the ACM on programming languages. ACM","DOI":"10.1145\/3360585"},{"key":"10137_CR2","doi-asserted-by":"crossref","unstructured":"Banerjee A, Roychoudhury A (2016) Automated re-factoring of android apps to enhance energy-efficiency. In: 2016 IEEE\/ACM international conference on mobile software engineering and systems (MOBILESoft). IEEE, pp 139\u2013150","DOI":"10.1145\/2897073.2897086"},{"key":"10137_CR3","doi-asserted-by":"publisher","unstructured":"Banerjee A, Roychoudhury A (2017) Future of mobile software for smartphones and drones: Energy and performance. In: 2017 IEEE\/ACM 4th international conference on mobile software engineering and systems (MOBILESoft). https:\/\/doi.org\/10.1109\/MOBILESoft.2017.1, pp 1\u201312","DOI":"10.1109\/MOBILESoft.2017.1"},{"key":"10137_CR4","doi-asserted-by":"crossref","unstructured":"Basios M, Li L, Wu F, Kanthan L, Barr E T (2018) Darwinian data structure selection. In: FSE. ACM","DOI":"10.1145\/3236024.3236043"},{"key":"10137_CR5","doi-asserted-by":"crossref","unstructured":"Bokhari M A, Bruce B R, Alexander B, Wagner M (2017) Deep parameter optimisation on android smartphones for energy minimisation: a tale of woe and a proof-of-concept. In: Proceedings of the genetic and evolutionary computation conference companion. ACM, pp 1501\u20131508","DOI":"10.1145\/3067695.3082519"},{"key":"10137_CR6","doi-asserted-by":"publisher","unstructured":"Brownlee A E I, Petke J, Alexander B, Barr E T, Wagner M, White D R (2019) Gin: genetic improvement research made easy. In: Proceedings of the genetic and evolutionary computation conference, GECCO \u201919. https:\/\/doi.org\/10.1145\/3321707.3321841. Association for Computing Machinery, pp 985\u2013993","DOI":"10.1145\/3321707.3321841"},{"key":"10137_CR7","doi-asserted-by":"crossref","unstructured":"Brownlee A E I, Petke J, Rasburn A F (2020) Injecting shortcuts for faster running Java code. In: CEC. IEEE, pp 1\u20138","DOI":"10.1109\/CEC48606.2020.9185708"},{"issue":"11","key":"10137_CR8","doi-asserted-by":"publisher","first-page":"1150","DOI":"10.1109\/TSE.2018.2827066","volume":"45","author":"BR Bruce","year":"2018","unstructured":"Bruce B R, Petke J, Harman M, Barr E T (2018) Approximate oracles and synergy in software energy search spaces. IEEE Trans Softw Eng 45 (11):1150\u20131169","journal-title":"IEEE Trans Softw Eng"},{"key":"10137_CR9","doi-asserted-by":"crossref","unstructured":"Burles N, Bowles E, Brownlee A E I, Kocsis Z A, Swan J, Veerapen N (2015) Object-oriented genetic improvement for improved energy consumption in Google Guava. In: SSBSE. Springer","DOI":"10.1007\/978-3-319-22183-0_20"},{"key":"10137_CR10","doi-asserted-by":"crossref","unstructured":"Chen X, Chen C, Zhang D, Xing Z (2019a) Sethesaurus: wordnet in software engineering. In: TSE. IEEE","DOI":"10.1109\/TSE.2019.2940439"},{"key":"10137_CR11","doi-asserted-by":"publisher","unstructured":"Chen Y, Winter S, Suri N (2019b) Inferring performance bug patterns from developer commits. In: 2019 IEEE 30th international symposium on software reliability engineering (ISSRE). https:\/\/doi.org\/10.1109\/ISSRE.2019.00017, pp 70\u201381","DOI":"10.1109\/ISSRE.2019.00017"},{"key":"10137_CR12","doi-asserted-by":"crossref","unstructured":"Das T, Penta M D, Malavolta I (2016) A quantitative and qualitative investigation of performance-related commits in Android apps. In: ICSME. IEEE","DOI":"10.1109\/ICSME.2016.49"},{"key":"10137_CR13","doi-asserted-by":"crossref","unstructured":"Ferrucci F, Gravino C, Salza P, Sarro F (2015) Investigating functional and code size measures for mobile applications: a replicated study. In: International conference on product-focused software process improvement. Springer, pp 271\u2013287","DOI":"10.1007\/978-3-319-26844-6_20"},{"key":"10137_CR14","doi-asserted-by":"crossref","unstructured":"Gao C, Zeng J, Sarro F, Lyu M R, King I (2018) Exploring the effects of ad schemes on the performance cost of mobile phones. In: Li L, Meng G, Klein J, Malek S (eds) Proceedings of the 1st international workshop on advances in mobile app analysis, A-Mobile@ASE 2018, Montpellier, France, September 4, 2018. ACM, pp 13\u201318","DOI":"10.1145\/3243218.3243221"},{"key":"10137_CR15","doi-asserted-by":"publisher","unstructured":"Gao C, Zeng J, Sarro F, Lo D, Lyu MR, King I (2020) Do users care about ad\u2019s performance costs? Exploring the effects of the performance costs of in-app ads on user experience. Inf Softw Technol. https:\/\/doi.org\/10.1016\/j.infsof.2020.106471","DOI":"10.1016\/j.infsof.2020.106471"},{"key":"10137_CR16","doi-asserted-by":"publisher","unstructured":"Goues C L, Weimer W, Forrest S (2012) Representations and operators for improving evolutionary software repair. In: Soule T, Moore JH (eds) Genetic and evolutionary computation conference, GECCO \u201912, Philadelphia, PA, USA, July 7\u201311, 2012. https:\/\/doi.org\/10.1145\/2330163.2330296. AC M, pp 959\u2013966","DOI":"10.1145\/2330163.2330296"},{"key":"10137_CR17","doi-asserted-by":"publisher","unstructured":"Haraldsson S O, Woodward J R, Brownlee A E I, Siggeirsdottir K (2017) Fixing bugs in your sleep: how genetic improvement became an overnight success. In: Bosman P A N (ed) Genetic and evolutionary computation conference, Berlin, Germany, July 15\u201319, 2017, Companion Material Proceedings. https:\/\/doi.org\/10.1145\/3067695.3082517. ACM, pp 1513\u20131520","DOI":"10.1145\/3067695.3082517"},{"issue":"14","key":"10137_CR18","doi-asserted-by":"publisher","first-page":"833","DOI":"10.1016\/S0950-5849(01)00189-6","volume":"43","author":"M Harman","year":"2001","unstructured":"Harman M, Jones B F (2001) Search-based software engineering. Inf Softw Technol 43(14):833\u2013839. https:\/\/doi.org\/10.1016\/S0950-5849(01)00189-6","journal-title":"Inf Softw Technol"},{"key":"10137_CR19","doi-asserted-by":"crossref","unstructured":"Harman M, McMinn P, De Souza J T, Yoo S (2010) Search based software engineering: techniques, taxonomy, tutorial. In: Empirical software engineering and verification. Springer, pp 1\u201359","DOI":"10.1007\/978-3-642-25231-0_1"},{"key":"10137_CR20","doi-asserted-by":"crossref","unstructured":"Hort M, Kechagia M, Sarro F, Harman M (2021) A survey of performance optimization for mobile applications. IEEE Trans Softw Eng (TSE)","DOI":"10.1109\/TSE.2021.3071193"},{"key":"10137_CR21","doi-asserted-by":"crossref","unstructured":"Inukollu V, Keshamoni D, Kang T, Inukollu M (2014) Factors influencing quality of mobile apps: role of mobile app development life cycle. Int J Softw Eng Appl 5","DOI":"10.5121\/ijsea.2014.5502"},{"issue":"6","key":"10137_CR22","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1145\/2345156.2254075","volume":"47","author":"G Jin","year":"2012","unstructured":"Jin G, Song L, Shi X, Scherpelz J, Lu S (2012a) Understanding and detecting real-world performance bugs. ACM SIGPLAN Notices 47 (6):77\u201388","journal-title":"ACM SIGPLAN Notices"},{"key":"10137_CR23","doi-asserted-by":"publisher","unstructured":"Jin G, Song L, Shi X, Scherpelz J, Lu S (2012b) Understanding and detecting real-world performance bugs. Sigplan Not - SIGPLAN 47. https:\/\/doi.org\/10.1145\/2345156.2254075","DOI":"10.1145\/2345156.2254075"},{"issue":"3","key":"10137_CR24","doi-asserted-by":"publisher","first-page":"70","DOI":"10.1109\/MS.2014.50","volume":"32","author":"H Khalid","year":"2014","unstructured":"Khalid H, Shihab E, Nagappan M, Hassan A E (2014) What do mobile app users complain about? IEEE Softw 32(3):70\u201377","journal-title":"IEEE Softw"},{"key":"10137_CR25","doi-asserted-by":"crossref","unstructured":"Kim D, Nam J, Song J, Kim S (2013) Automatic patch generation learned from human-written patches. In: ICSE. IEEE","DOI":"10.1109\/ICSE.2013.6606626"},{"issue":"1","key":"10137_CR26","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1109\/MM.2015.9","volume":"35","author":"H Kim","year":"2015","unstructured":"Kim H, Lim H, Manatunga D, Kim H, Park G H (2015) Accelerating application start-up with nonvolatile memory in android systems. IEEE Micro 35(1):15\u201325","journal-title":"IEEE Micro"},{"issue":"1","key":"10137_CR27","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1109\/TSE.2011.104","volume":"38","author":"C Le Goues","year":"2012","unstructured":"Le Goues C, Nguyen T, Forrest S, Weimer W (2012) Genprog: a generic method for automatic software repair. IEEE Trans Softw Eng 38(1):54\u201372. https:\/\/doi.org\/10.1109\/TSE.2011.104","journal-title":"IEEE Trans Softw Eng"},{"issue":"1","key":"10137_CR28","doi-asserted-by":"publisher","first-page":"40","DOI":"10.1109\/TSE.2014.2360674","volume":"41","author":"SL Lim","year":"2014","unstructured":"Lim S L, Bentley P J, Kanakam N, Ishikawa F, Honiden S (2014) Investigating country differences in mobile app user behavior and challenges for software engineering. IEEE Trans Softw Eng 41(1):40\u201364","journal-title":"IEEE Trans Softw Eng"},{"key":"10137_CR29","doi-asserted-by":"publisher","unstructured":"Linares-V\u00e1squez M, Vendome C, Luo Q, Poshyvanyk D (2015) How developers detect and fix performance bottlenecks in android apps. In: 2015 IEEE international conference on software maintenance and evolution (ICSME). https:\/\/doi.org\/10.1109\/ICSM.2015.7332486, pp 352\u2013361","DOI":"10.1109\/ICSM.2015.7332486"},{"key":"10137_CR30","doi-asserted-by":"crossref","unstructured":"Liu Y, Xu C, Cheung S C (2014) Characterizing and detecting performance bugs for smartphone applications. In: Proceedings of the 36th international conference on software engineering. ACM, pp 1013\u20131024","DOI":"10.1145\/2568225.2568229"},{"key":"10137_CR31","doi-asserted-by":"crossref","unstructured":"Long F, Amidon P, Rinard M (2017) Automatic inference of code transforms for patch generation. In: FSE. ACM","DOI":"10.1145\/3106237.3106253"},{"key":"10137_CR32","doi-asserted-by":"crossref","unstructured":"Martinez M, Monperrus M (2018) Ultra-large repair search space with automatically mined templates: the cardumen mode of astor. In: SSBSE. Springer","DOI":"10.1007\/978-3-319-99241-9_3"},{"key":"10137_CR33","doi-asserted-by":"crossref","unstructured":"Martins A L N, Duarte C A, Jeong J (2018) Improving application launch performance in smartphones using recurrent neural network. In: Proceedings of the 2018 international conference on machine learning technologies. ACM, pp 58\u201362","DOI":"10.1145\/3231884.3231897"},{"key":"10137_CR34","doi-asserted-by":"crossref","unstructured":"Mazuera-Rozo A, Trubiani C, Linares-V\u00e1squez M, Bavota G (2020) Investigating types and survivability of performance bugs in mobile apps. Empir Softw Eng 1\u201343","DOI":"10.1007\/s10664-019-09795-6"},{"key":"10137_CR35","doi-asserted-by":"crossref","unstructured":"Moura I, Pinto G, Ebert F, Castor F (2015) Mining energy-aware commits. In: MSR. ACM","DOI":"10.1109\/MSR.2015.13"},{"issue":"58","key":"10137_CR36","first-page":"240","volume":"I","author":"K Pearson","year":"1895","unstructured":"Pearson K (1895) Note on regression and inheritance in the case of two parents. Proc R Soc Lond Ser I(58):240\u2013242","journal-title":"Proc R Soc Lond Ser"},{"key":"10137_CR37","doi-asserted-by":"crossref","unstructured":"Petke J (2017) New operators for non-functional genetic improvement. In: GECCO. ACM, pp 1541\u20131542","DOI":"10.1145\/3067695.3082520"},{"issue":"3","key":"10137_CR38","doi-asserted-by":"publisher","first-page":"415","DOI":"10.1109\/TEVC.2017.2693219","volume":"22","author":"J Petke","year":"2017","unstructured":"Petke J, Haraldsson S O, Harman M, Langdon W B, White D R, Woodward J R (2017) Genetic improvement of software: a comprehensive survey. IEEE Trans Evol Comput 22(3):415\u2013432","journal-title":"IEEE Trans Evol Comput"},{"key":"10137_CR39","doi-asserted-by":"crossref","unstructured":"Petke J, Haraldsson S O, Harman M, Langdon W B, White D R, Woodward J R (2018) Genetic improvement of software: a comprehensive survey. In: IEEE transactions on evolutionary computation. IEEE","DOI":"10.1109\/TEVC.2017.2693219"},{"issue":"3","key":"10137_CR40","doi-asserted-by":"publisher","first-page":"281","DOI":"10.1007\/s10710-013-9195-8","volume":"15","author":"E Schulte","year":"2014","unstructured":"Schulte E, Fry Z P, Fast E, Weimer W, Forrest S (2014) Software mutational robustness. Genet Program Evolvable Mach 15(3):281\u2013312. https:\/\/doi.org\/10.1007\/s10710-013-9195-8","journal-title":"Genet Program Evolvable Mach"},{"issue":"6","key":"10137_CR41","doi-asserted-by":"publisher","first-page":"152","DOI":"10.1145\/2070781.2024186","volume":"30","author":"P Sitthi-amorn","year":"2011","unstructured":"Sitthi-amorn P, Modly N, Weimer W, Lawrence J (2011) Genetic programming for shader simplification. ACM Trans Graph 30(6):152. https:\/\/doi.org\/10.1145\/2070781.2024186","journal-title":"ACM Trans Graph"},{"key":"10137_CR42","doi-asserted-by":"crossref","unstructured":"Wu F, Weimer W, Harman M, Jia Y, Krinke J (2015) Deep parameter optimisation. In: GECCO. ACM","DOI":"10.1145\/2739480.2754648"},{"key":"10137_CR43","doi-asserted-by":"publisher","unstructured":"Yamauchi K, Yang J, Hotta K, Higo Y, Kusumoto S (2014) Clustering commits for understanding the intents of implementation. In: 2014 IEEE international conference on software maintenance and evolution. https:\/\/doi.org\/10.1109\/ICSME.2014.63, pp 406\u2013410","DOI":"10.1109\/ICSME.2014.63"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-022-10137-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-022-10137-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-022-10137-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,7,26]],"date-time":"2022-07-26T05:13:10Z","timestamp":1658812390000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-022-10137-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,5,30]]},"references-count":43,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2022,9]]}},"alternative-id":["10137"],"URL":"https:\/\/doi.org\/10.1007\/s10664-022-10137-2","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,5,30]]},"assertion":[{"value":"11 February 2022","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"30 May 2022","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors have no conflicts of interest to declare that are relevant to the content of this article.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"<!--Emphasis Type='Bold' removed-->Conflict of Interest"}}],"article-number":"113"}}