{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,12]],"date-time":"2025-11-12T01:56:33Z","timestamp":1762912593026,"version":"3.45.0"},"reference-count":49,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2023,8,1]],"date-time":"2023-08-01T00:00:00Z","timestamp":1690848000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2023,8,1]],"date-time":"2023-08-01T00:00:00Z","timestamp":1690848000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2023,6,7]],"date-time":"2023-06-07T00:00:00Z","timestamp":1686096000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100006111","name":"Minist\u00e9rio da Ci\u00eancia, Tecnologia e Ensino Superior","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100006111","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100008530","name":"European Regional Development Fund","doi-asserted-by":"publisher","award":["CENTRO-01-0247-FEDER-047256"],"award-info":[{"award-number":["CENTRO-01-0247-FEDER-047256"]}],"id":[{"id":"10.13039\/501100008530","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100000780","name":"European Commission","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100000780","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001871","name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100001871","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Computer Languages"],"published-print":{"date-parts":[[2023,8]]},"DOI":"10.1016\/j.cola.2023.101220","type":"journal-article","created":{"date-parts":[[2023,6,11]],"date-time":"2023-06-11T17:59:25Z","timestamp":1686506365000},"page":"101220","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":2,"special_numbering":"C","title":["E-APK: Energy pattern detection in decompiled android applications"],"prefix":"10.1016","volume":"76","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3427-6756","authenticated-orcid":false,"given":"Nelson","family":"Greg\u00f3rio","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3017-9449","authenticated-orcid":false,"given":"Jo\u00e3o","family":"Bispo","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1952-9460","authenticated-orcid":false,"given":"Jo\u00e3o Paulo","family":"Fernandes","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0759-0926","authenticated-orcid":false,"given":"S\u00e9rgio","family":"Queiroz de Medeiros","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"issue":"12","key":"10.1016\/j.cola.2023.101220_b1","doi-asserted-by":"crossref","first-page":"1176","DOI":"10.1109\/TSE.2017.2757486","article-title":"EARMO: An energy-aware refactoring approach for mobile apps","volume":"44","author":"Morales","year":"2018","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.cola.2023.101220_b2","series-title":"QuASoQ@APSEC","first-page":"71","article-title":"Detection and correction of android-specific code smells and energy bugs: An android lint extension","author":"Fatima","year":"2020"},{"key":"10.1016\/j.cola.2023.101220_b3","series-title":"2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)","first-page":"217","article-title":"Energy refactorings for android in the large and in the wild","author":"Couto","year":"2020"},{"key":"10.1016\/j.cola.2023.101220_b4","series-title":"Proceedings of the 7th Asia-Pacific Symposium on Internetware","first-page":"1","article-title":"DelayDroid: Reducing tail-time energy by refactoring android apps","author":"Cai","year":"2015"},{"issue":"5","key":"10.1016\/j.cola.2023.101220_b5","doi-asserted-by":"crossref","first-page":"470","DOI":"10.1109\/TSE.2017.2689012","article-title":"EnergyPatch: Repairing resource leaks to improve energy-efficiency of android apps","volume":"44","author":"Banerjee","year":"2018","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.cola.2023.101220_b6","series-title":"Software Sustainability","first-page":"89","article-title":"Patterns and energy consumption: Design, implementation, studies, and stories","author":"Feitosa","year":"2021"},{"issue":"4","key":"10.1016\/j.cola.2023.101220_b7","doi-asserted-by":"crossref","first-page":"2209","DOI":"10.1007\/s10664-019-09682-0","article-title":"Catalog of energy patterns for mobile applications","volume":"24","author":"Cruz","year":"2019","journal-title":"Empir. Softw. Eng."},{"key":"10.1016\/j.cola.2023.101220_b8","article-title":"A tool-supported quality smell catalogue for android developers","author":"Reimann","year":"2014","journal-title":"Softwaretechnik-Trends"},{"year":"2013","series-title":"Android smells catalogue","author":"Brylski","key":"10.1016\/j.cola.2023.101220_b9"},{"key":"10.1016\/j.cola.2023.101220_b10","series-title":"2020 35th IEEE\/ACM International Conference on Automated Software Engineering Workshops (ASEW)","first-page":"85","article-title":"Enforcing green code with android lint","author":"Goa\u00ebr","year":"2020"},{"key":"10.1016\/j.cola.2023.101220_b11","series-title":"2015 2nd ACM International Conference on Mobile Software Engineering and Systems","first-page":"148","article-title":"Detecting antipatterns in android apps","author":"Hecht","year":"2015"},{"key":"10.1016\/j.cola.2023.101220_b12","series-title":"Proceedings of the 28th International Conference on Program Comprehension","first-page":"451","article-title":"Refactoring android-specific energy smells: A plugin for Android Studio","author":"Iannone","year":"2020"},{"key":"10.1016\/j.cola.2023.101220_b13","series-title":"Proceedings of the 36th Annual ACM Symposium on Applied Computing","first-page":"1580","article-title":"Exploiting the progress of OO refactoring tools with android code smells: Randroid, a plugin for android studio","author":"Gattal","year":"2021"},{"year":"2017","series-title":"Aeon: Automated android energy-efficiency inspection","author":"Gonzalez","key":"10.1016\/j.cola.2023.101220_b14"},{"key":"10.1016\/j.cola.2023.101220_b15","series-title":"2021 IEEE 21st International Conference on Software Quality, Reliability and Security","first-page":"62","article-title":"EcoAndroid: An android studio plugin for developing energy-efficient java mobile applications","author":"Ribeiro","year":"2021"},{"key":"10.1016\/j.cola.2023.101220_b16","series-title":"Formal Methods and Software Engineering","first-page":"192","article-title":"Detecting energy bugs in android apps using static analysis","author":"Jiang","year":"2017"},{"key":"10.1016\/j.cola.2023.101220_b17","article-title":"Performance-driven instrumentation and mapping strategies using the LARA aspect-oriented programming approach","volume":"46","author":"Cardoso","year":"2014","journal-title":"Softw. - Pract. Exp."},{"key":"10.1016\/j.cola.2023.101220_b18","first-page":"1","article-title":"Aspect composition for multiple target languages using LARA","volume":"53","author":"Pinto","year":"2018","journal-title":"Comput. Lang. Syst. Struct."},{"key":"10.1016\/j.cola.2023.101220_b19","series-title":"2022 26th Brazilian Symposium on Programming Languages","first-page":"50","article-title":"E-APK: Energy pattern detection in decompiled android applications","author":"Greg\u00f3rio","year":"2022"},{"key":"10.1016\/j.cola.2023.101220_b20","doi-asserted-by":"crossref","first-page":"93","DOI":"10.1016\/j.scico.2017.06.010","article-title":"State-taint analysis for detecting resource bugs","volume":"162","author":"Xu","year":"2018","journal-title":"Sci. Comput. Program."},{"key":"10.1016\/j.cola.2023.101220_b21","series-title":"2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineerin (SANER)","first-page":"115","article-title":"Investigating the energy impact of android smells","author":"Carette","year":"2017"},{"key":"10.1016\/j.cola.2023.101220_b22","series-title":"2014 IEEE International Conference on Mobile Services","first-page":"84","article-title":"PatBugs: A pattern-based bug detector for cross-platform mobile applications","author":"Liang","year":"2014"},{"key":"10.1016\/j.cola.2023.101220_b23","series-title":"2015 30th IEEE\/ACM International Conference on Automated Software Engineering (ASE)","first-page":"224","article-title":"Study and refactoring of android asynchronous programming (T)","author":"Lin","year":"2015"},{"key":"10.1016\/j.cola.2023.101220_b24","doi-asserted-by":"crossref","DOI":"10.5753\/jserd.2019.17","article-title":"Improving energy efficiency through automatic refactoring","author":"Cruz","year":"2019","journal-title":"J. Softw. Eng. Res. Dev."},{"key":"10.1016\/j.cola.2023.101220_b25","series-title":"Integrated Uncertainty in Knowledge Modelling and Decision Making","first-page":"343","article-title":"Improve the performance of mobile applications based on code optimization techniques using pmd and android lint","author":"Nguyen","year":"2016"},{"key":"10.1016\/j.cola.2023.101220_b26","series-title":"2021 IEEE International Conference on Software Analysis, Evolution and Reengineering","first-page":"400","article-title":"A large-scale empirical study of android app decompilation","author":"Mauthe","year":"2021"},{"key":"10.1016\/j.cola.2023.101220_b27","series-title":"Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security","first-page":"2557","article-title":"Kerberoid: A practical android app decompilation system with multiple decompilers","author":"Jang","year":"2019"},{"key":"10.1016\/j.cola.2023.101220_b28","unstructured":"A. Desnos, G. Gueguen, Android: From Reversing to Decompilation, in: Proc. of Black Hat Abu Dhabi, 2011."},{"key":"10.1016\/j.cola.2023.101220_b29","series-title":"2017 Communication and Information Technologies (KIT)","first-page":"1","article-title":"An evaluation of output from current java bytecode decompilers: Is it android which is responsible for such quality boost?","author":"Kostelansk\u00fd","year":"2017"},{"key":"10.1016\/j.cola.2023.101220_b30","doi-asserted-by":"crossref","first-page":"12382","DOI":"10.1109\/ACCESS.2018.2808340","article-title":"A comparison of android reverse engineering tools via program behaviors validation based on intermediate languages transformation","volume":"6","author":"Arnatovich","year":"2018","journal-title":"IEEE Access"},{"key":"10.1016\/j.cola.2023.101220_b31","series-title":"Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program Analysis","first-page":"27","article-title":"Dexpler: Converting android dalvik bytecode to jimple for static analysis with soot","author":"Bartel","year":"2012"},{"key":"10.1016\/j.cola.2023.101220_b32","unstructured":"Y. Arnatovich, H.B.K. Tan, S. Ding, K. Liu, L.K. Shar, Empirical Comparison of Intermediate Representations for Android Applications, in: SEKE, 2014, pp. 205\u2013210."},{"key":"10.1016\/j.cola.2023.101220_b33","series-title":"Security and Privacy in Communication Networks","first-page":"172","article-title":"Understanding android obfuscation techniques: A large-scale investigation in the wild","author":"Dong","year":"2018"},{"issue":"1","key":"10.1016\/j.cola.2023.101220_b34","first-page":"2","article-title":"A comparative study on optimization, obfuscation, and deobfuscation tools in android.","volume":"11","author":"You","year":"2021","journal-title":"J. Internet Serv. Inf. Secur."},{"key":"10.1016\/j.cola.2023.101220_b35","doi-asserted-by":"crossref","DOI":"10.1016\/j.softx.2020.100403","article-title":"Obfuscapk: An open-source black-box obfuscation tool for android apps","volume":"11","author":"Aonzo","year":"2020","journal-title":"SoftwareX"},{"key":"10.1016\/j.cola.2023.101220_b36","doi-asserted-by":"crossref","first-page":"72","DOI":"10.1016\/j.cose.2016.05.003","article-title":"Control flow obfuscation for android applications","volume":"61","author":"Balachandran","year":"2016","journal-title":"Comput. Secur."},{"key":"10.1016\/j.cola.2023.101220_b37","series-title":"Proceedings of the 4th Workshop on Security in Highly Connected IT Systems","first-page":"7","article-title":"Anti-ProGuard: Towards automated deobfuscation of android apps","author":"Baumann","year":"2017"},{"key":"10.1016\/j.cola.2023.101220_b38","series-title":"Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security","first-page":"343","article-title":"Statistical deobfuscation of android applications","author":"Bichsel","year":"2016"},{"key":"10.1016\/j.cola.2023.101220_b39","doi-asserted-by":"crossref","DOI":"10.1016\/j.softx.2020.100565","article-title":"Clava: C\/C++ source-to-source compilation using LARA","volume":"12","author":"Bispo","year":"2020","journal-title":"SoftwareX"},{"key":"10.1016\/j.cola.2023.101220_b40","doi-asserted-by":"crossref","DOI":"10.1002\/cpe.5854","article-title":"Compilation of MATLAB computations to CPU\/GPU via C\/OpenCL generation","volume":"32","author":"Reis","year":"2020","journal-title":"Concurr. Comput.: Pract. Exper."},{"issue":"9","key":"10.1016\/j.cola.2023.101220_b41","doi-asserted-by":"crossref","first-page":"1155","DOI":"10.1002\/spe.2346","article-title":"SPOON: A library for implementing analyses and transformations of java source code","volume":"46","author":"Pawlak","year":"2016","journal-title":"Softw. Pract. Exper."},{"issue":"4","key":"10.1016\/j.cola.2023.101220_b42","doi-asserted-by":"crossref","first-page":"345","DOI":"10.1145\/197405.197406","article-title":"Compiler transformations for high-performance computing","volume":"26","author":"Bacon","year":"1994","journal-title":"ACM Comput. Surv."},{"key":"10.1016\/j.cola.2023.101220_b43","series-title":"Proceedings of the 2018 International Symposium on Code Generation and Optimization","first-page":"16","article-title":"CollectionSwitch: A Framework for Efficient and Dynamic Collection Selection","author":"Costa","year":"2018"},{"key":"10.1016\/j.cola.2023.101220_b44","series-title":"Languages and Compilers for Parallel Computing","first-page":"169","article-title":"Folklore confirmed: Compiling for speed = compiling for energy","author":"Yuki","year":"2014"},{"key":"10.1016\/j.cola.2023.101220_b45","series-title":"Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering","first-page":"765","article-title":"Understanding and overcoming parallelism bottlenecks in ForkJoin applications","author":"Pinto","year":"2017"},{"issue":"2","key":"10.1016\/j.cola.2023.101220_b46","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1111\/j.1469-8137.1912.tb05611.x","article-title":"The distribution of the flora in the alpine zone. 1","volume":"11","author":"Jaccard","year":"1912","journal-title":"New Phytol."},{"key":"10.1016\/j.cola.2023.101220_b47","article-title":"Comparing sets of patterns with the jaccard index","volume":"22","author":"Fletcher","year":"2018","journal-title":"Australas. J. Inf. Syst."},{"issue":"4","key":"10.1016\/j.cola.2023.101220_b48","doi-asserted-by":"crossref","first-page":"381","DOI":"10.1145\/356827.356830","article-title":"Approximate string matching","volume":"12","author":"Hall","year":"1980","journal-title":"ACM Comput. Surv."},{"key":"10.1016\/j.cola.2023.101220_b49","doi-asserted-by":"crossref","DOI":"10.1108\/eb005612","article-title":"Fuzzy pattern matching","author":"Cayrol","year":"1982","journal-title":"Kybernetes"}],"container-title":["Journal of Computer Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S2590118423000308?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S2590118423000308?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,11,12]],"date-time":"2025-11-12T01:54:13Z","timestamp":1762912453000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S2590118423000308"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,8]]},"references-count":49,"alternative-id":["S2590118423000308"],"URL":"https:\/\/doi.org\/10.1016\/j.cola.2023.101220","relation":{},"ISSN":["2590-1184"],"issn-type":[{"type":"print","value":"2590-1184"}],"subject":[],"published":{"date-parts":[[2023,8]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"E-APK: Energy pattern detection in decompiled android applications","name":"articletitle","label":"Article Title"},{"value":"Journal of Computer Languages","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.cola.2023.101220","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2023 The Author(s). Published by Elsevier Ltd.","name":"copyright","label":"Copyright"}],"article-number":"101220"}}