Ruitao Feng, Guozhu Meng, Xiaofei Xie, Ting Su, Y. Liu, Shang-Wei Lin
{"title":"从Android应用程序的代码更改中学习性能优化","authors":"Ruitao Feng, Guozhu Meng, Xiaofei Xie, Ting Su, Y. Liu, Shang-Wei Lin","doi":"10.1109/ICSTW.2019.00067","DOIUrl":null,"url":null,"abstract":"Performance issues of Android apps can tangibly degrade user experience. However, it is challenging for Android developers, especially a novice to develop high-performance apps. It is primarily attributed to the lack of consolidated and abundant programmatic guides for performance optimization. To address this challenge, we propose a data-based approach to obtain performance optimization practices from historical code changes. We first elicit performance-aware Android APIs of which invocations could affect app performance to a large extent, identify historical code changes that produce impact on app performance, and further determine whether they are optimization practices. We have implemented this approach with a tool \\tool and evaluated its effectiveness in 2 open source well-maintained projects. The experimental results found 83 changes relevant to performance optimization. Last, we summarize and explain 5 optimization rules to facilitate the development of high-performance apps.","PeriodicalId":310230,"journal":{"name":"2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Learning Performance Optimization from Code Changes for Android Apps\",\"authors\":\"Ruitao Feng, Guozhu Meng, Xiaofei Xie, Ting Su, Y. Liu, Shang-Wei Lin\",\"doi\":\"10.1109/ICSTW.2019.00067\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Performance issues of Android apps can tangibly degrade user experience. However, it is challenging for Android developers, especially a novice to develop high-performance apps. It is primarily attributed to the lack of consolidated and abundant programmatic guides for performance optimization. To address this challenge, we propose a data-based approach to obtain performance optimization practices from historical code changes. We first elicit performance-aware Android APIs of which invocations could affect app performance to a large extent, identify historical code changes that produce impact on app performance, and further determine whether they are optimization practices. We have implemented this approach with a tool \\\\tool and evaluated its effectiveness in 2 open source well-maintained projects. The experimental results found 83 changes relevant to performance optimization. Last, we summarize and explain 5 optimization rules to facilitate the development of high-performance apps.\",\"PeriodicalId\":310230,\"journal\":{\"name\":\"2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)\",\"volume\":\"27 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSTW.2019.00067\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSTW.2019.00067","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Learning Performance Optimization from Code Changes for Android Apps
Performance issues of Android apps can tangibly degrade user experience. However, it is challenging for Android developers, especially a novice to develop high-performance apps. It is primarily attributed to the lack of consolidated and abundant programmatic guides for performance optimization. To address this challenge, we propose a data-based approach to obtain performance optimization practices from historical code changes. We first elicit performance-aware Android APIs of which invocations could affect app performance to a large extent, identify historical code changes that produce impact on app performance, and further determine whether they are optimization practices. We have implemented this approach with a tool \tool and evaluated its effectiveness in 2 open source well-maintained projects. The experimental results found 83 changes relevant to performance optimization. Last, we summarize and explain 5 optimization rules to facilitate the development of high-performance apps.